[lkml]   [2022]   [May]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH v3 14/23] ata: libahci: Discard redundant force_port_map parameter
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 <>
> ---
> 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 <>


Dr. Hannes Reinecke Kernel Storage Architect +49 911 74053 688
SUSE Software Solutions Germany GmbH, Maxfeldstr. 5, 90409 Nürnberg
HRB 36809 (AG Nürnberg), GF: Felix Imendörffer

 \ /
  Last update: 2022-05-12 09:01    [W:0.330 / U:0.136 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site