On Fri, Oct 04, 2019 at 11:07:34AM +0300, Yehezkel Bernat wrote: > > Also if you can get the hw_vendor_id and hw_product_id from the kernel > > does that mean you don't need to do the two reads or you still need > > those? > > Are those the chip vendor or the OEM, in case they are different? Those are the actual USB4 hardware maker values, directly from ROUTER_CS_0 (p. 287 in the USB4 spec). This almost certainly differ from the OEM values from DROM we currently expose. > Thinking about it again, I'd guess it shouldn't matter much, if the chip is from > Intel, the FW supports NVM upgrade, isn't it? So the bottom line is that if the kernel thinks the router supports NVM upgrade it exposes the nvm_active/nvm_non_active files etc. I think fwupd uses this information to display user whether the device can be upgraded or not (for example ICL cannot as the NVM is part of BIOS). Exposing hw_vendor_id and hw_product_id may speed up fwupd because it does not need to go over the active NVM to figure out whether the new image is for the correct controller.