Message ID | 20191022234808.17432-1-pierre-louis.bossart@linux.intel.com (mailing list archive) |
---|---|
Headers | show |
Series | soundwire: use UniqueID only when relevant | expand |
On 10/22/19 6:48 PM, Pierre-Louis Bossart wrote: > The hardware UniqueID, typically enabled with pin-strapping, is > required during enumeration to avoid conflicts between devices of the > same type. > > When there are no devices of the same type, using the UniqueID is > overkill and results in a lot of probe errors due to mismatches > between ACPI tables and hardware capabilities. For example it's not > uncommon for BIOS vendors to copy/paste the same settings between > platforms but the hardware pin-strapping is different. This is > perfectly legit and permitted by MIPI specs. > > With this patchset, the UniqueID is only used when multiple devices of > the same type are detected. The loop to detect multiple identical > devices is not super efficient but with typically fewer than 4 devices > per link there's no real incentive to be smarter. > > This change is only implemented for ACPI platforms, for DeviceTree > there is no change. Vinod, this series has been submitted for review on October 22 and I answered to your questions. There's been no feedback since October 24, so is there any sustained objection here? ACPI platforms are completely unmanageable without this patchset. > > Pierre-Louis Bossart (3): > soundwire: remove bitfield for unique_id, use u8 > soundwire: slave: add helper to extract slave ID > soundwire: ignore uniqueID when irrelevant > > drivers/soundwire/bus.c | 7 +-- > drivers/soundwire/slave.c | 98 +++++++++++++++++++++++++++-------- > include/linux/soundwire/sdw.h | 4 +- > 3 files changed, 84 insertions(+), 25 deletions(-) >
On 22-10-19, 18:48, Pierre-Louis Bossart wrote: > The hardware UniqueID, typically enabled with pin-strapping, is > required during enumeration to avoid conflicts between devices of the > same type. > > When there are no devices of the same type, using the UniqueID is > overkill and results in a lot of probe errors due to mismatches > between ACPI tables and hardware capabilities. For example it's not > uncommon for BIOS vendors to copy/paste the same settings between > platforms but the hardware pin-strapping is different. This is > perfectly legit and permitted by MIPI specs. > > With this patchset, the UniqueID is only used when multiple devices of > the same type are detected. The loop to detect multiple identical > devices is not super efficient but with typically fewer than 4 devices > per link there's no real incentive to be smarter. > > This change is only implemented for ACPI platforms, for DeviceTree > there is no change. I do not fully agree with the approach here but I do understand why this was done and do not have a better alternative, so applied now