On Tue, 27 Feb 2018 20:24:43 +0000 Przemyslaw Sroka <psroka@xxxxxxxxxxx> wrote: > > > SETDASA is simply faster than ENTDAA, but only if there is no > > > need to collect BCR/DCR/PID of such devices. I think most > > > applications would like to have them as an status information so > > > after all ENTDAA can be regarded as an generic approach (unless > > > I'm mistaken). > > > > Actually, we could retrieve BCR/DCR/PID (and all other relevant > > information, like MAXDS) even with the SETDASA approach. We just > > need to send the according CCC commands after SETDASA. > > > I agree, what I meant by "SETDASA is simply faster than ENTDAA, but > only if there is no need to collect BCR/DCR/PID of such devices." Is > that it is faster than DAA but only if not followed by GET CCC > commands to gather BCR/DCR/PID. I think we are on the same page here. Yes, but right now it's not the case, see my other reply ;-). > > > But that's also my understanding that ENTDAA should always work, and > > SETDASA usage is only needed if you want to reserve a dynamic > > address and assign it to a device before DAA takes place. This way > > you can enforce the device priority (WRT IBIs). But honestly, > > that's the only use case I can think of, and to me, it sounds like > > an advanced feature we may want to support at some point, but don't > > need in the initial implementation. > Still ENTDAA seems to be sufficient for IBI prioritization but I can > imagine some use cases where people would like to use it for such > purposes. Note that SETDASA is applicable only for devices with SA so > it is self-explanatory that it cannot be considered as utility to > define priorities for all devices before ENTDAA. We have SETNEWDA for other use cases: say you want one of your device to have an higher priority, you can just manually set a new dynamic address that is lower than any other devices on the bus (I plan to expose that through sysfs, by making the address file writable). -- Boris Brezillon, Bootlin (formerly Free Electrons) Embedded Linux and Kernel engineering https://bootlin.com