Messages in this thread | | | Date | Thu, 12 May 2022 09:00:15 +0200 | Subject | Re: [PATCH v3 14/23] ata: libahci: Discard redundant force_port_map parameter | From | Hannes Reinecke <> |
| |
On 5/12/22 01:18, Serge Semin wrote: > Currently there are four port-map-related fields declared in the > ahci_host_priv structure and used to setup the HBA ports mapping. First > the ports-mapping is read from the PI register and immediately stored in > the saved_port_map field. If forced_port_map is initialized with non-zero > value then its value will have greater priority over the value read from > PI, thus it will override the saved_port_map field. That value will be > then masked by a non-zero mask_port_map field and after some sanity checks > it will be stored in the ahci_host_priv.port_map field as a final port > mapping. > > As you can see the logic is a bit too complicated for such a simple task. > We can freely get rid from at least one of the fields with no change to > the implemented semantic. The force_port_map field can be replaced with > taking non-zero saved_port_map value into account. So if saved_port_map is > pre-initialized by the low level drivers (platform drivers) then it will > have greater priority over the value read from PI register and will be > used as actual HBA ports mapping later on. Thus the ports map forcing task > will be just transferred from the force_port_map to saved_port_map field. > > This modification will perfectly fit into the feature of having OF-based > initialization of the HW-init HBA CSR fields we are about to introduce in > the next commit. > > Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru> > --- > drivers/ata/ahci.c | 2 +- > drivers/ata/ahci.h | 1 - > drivers/ata/libahci.c | 10 ++++++---- > drivers/ata/libahci_platform.c | 2 +- > 4 files changed, 8 insertions(+), 7 deletions(-) > Reviewed-by: Hannes Reinecke <hare@suse.de>
Cheers,
Hannes -- Dr. Hannes Reinecke Kernel Storage Architect hare@suse.de +49 911 74053 688 SUSE Software Solutions Germany GmbH, Maxfeldstr. 5, 90409 Nürnberg HRB 36809 (AG Nürnberg), GF: Felix Imendörffer
| |