Hi Werner, Ron, Nico, list,
While it would be great to not have to implement Bus Master workarounds in coreboot, I guess it's sometimes unavoidable because of external constraints. I would much prefer to have the actual problem fixed instead (code assuming Bus Master is enabled by default), but if that's not possible I can live with some mechanism to enable Bus Master in coreboot, *as long as all usages are justified*. IMHO, enabling Bus Master for no reason is bad practice, but keeping code to enable Bus Master because no one knows what removing it could break is even worse.
On Tue, Nov 10, 2020 at 3:24 PM werner.zeh@siemens.com werner.zeh@siemens.com wrote:
We could introduce a Kconfig switch per driver
Not per-driver, please!
I'd rather have per-reason switches (reason-options): Kconfig options whose help-text gives the reason why enabling Bus Master in coreboot for certain devices is needed. Even if these Kconfig options end up being scattered across the tree, it's easier to see the relationship between multiple instances of Bus Master being set. Plus, if the actual bug is eventually fixed, it's very easy to drop the corresponding reason-option without breaking any other reason-options.
and let the driver handle the bit. Everything else could be removed. This would make it easier to track the usages. It would be nice if we could agree on a naming scheme so that all switches are named similar which would make it easier to track the usage.
But there are cases where there is no driver in coreboot for a given PCI device which needs this bit. For now, we (Siemens) handle this cases on mainboard level. So either we need drivers for these devices (just simply setting the master bit) or we can agree on some kind of exceptions. I am open to everything.
This won't be a problem if using per-reason Kconfig options. I would still use these reason-options though, even when the option always gets selected (e.g. selected by the mainboard's Kconfig): this is to justify each instance of Bus Master being set with the corresponding reason-options.
Werner
-----Ursprüngliche Nachricht----- Von: ron minnich rminnich@gmail.com Gesendet: Dienstag, 10. November 2020 16:15 An: Nico Huber nico.h@gmx.de Cc: coreboot coreboot@coreboot.org Betreff: [coreboot] Re: Deprecating spurious PCI bus master enabling (was Re: Planning the next coreboot release)
nice idea!
On Tue, Nov 10, 2020 at 7:13 AM Nico Huber nico.h@gmx.de wrote:
On 10.11.20 16:06, Nico Huber wrote:
If anybody knows or discovers more cases where it needs to be enabled in advance by coreboot, please mention it here.
We just discussed on IRC cases where unfixable OS drivers might need it. For such cases, it would probably be best to add individual Kconfig switches for each case. This would make it easier to get rid of the big switch.
Nico _______________________________________________ coreboot mailing list -- coreboot@coreboot.org To unsubscribe send an email to coreboot-leave@coreboot.org
coreboot mailing list -- coreboot@coreboot.org To unsubscribe send an email to coreboot-leave@coreboot.org _______________________________________________ coreboot mailing list -- coreboot@coreboot.org To unsubscribe send an email to coreboot-leave@coreboot.org
Best regards, Angel