[PATCH v1 15/24] ata: ahci: Add BAR index quirk for Cavium PCI SATA device

Stefan Roese sr at denx.de
Tue Aug 4 15:37:10 CEST 2020


Hi Simon,

On 31.07.20 20:35, Simon Glass wrote:
> Hi Stefan,
> 
> On Thu, 30 Jul 2020 at 09:41, Stefan Roese <sr at denx.de> wrote:
>>
>> Hi Simon,
>>
>> On 28.07.20 21:01, Simon Glass wrote:
>>> Hi Stefan,
>>>
>>> On Fri, 24 Jul 2020 at 04:09, Stefan Roese <sr at denx.de> wrote:
>>>>
>>>> From: Suneel Garapati <sgarapati at marvell.com>
>>>>
>>>> For SATA controller found on OcteonTX SoC's, use non-standard PCI BAR0
>>>> instead of BAR5.
>>>>
>>>> Signed-off-by: Suneel Garapati <sgarapati at marvell.com>
>>>> Cc: Simon Glass <sjg at chromium.org>
>>>>
>>>> Signed-off-by: Stefan Roese <sr at denx.de>
>>>> ---
>>>>
>>>> Changes in v1:
>>>> - Change patch subject
>>>> - Use constants from pci_ids.h instead of hardcoded values
>>>>
>>>>    drivers/ata/ahci.c | 8 ++++++++
>>>>    1 file changed, 8 insertions(+)
>>>
>>> Reviewed-by: Simon Glass <sjg at chromium.org>
>>>
>>>>
>>>> diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c
>>>> index 47cdea1f58..28161b5e62 100644
>>>> --- a/drivers/ata/ahci.c
>>>> +++ b/drivers/ata/ahci.c
>>>> @@ -1198,10 +1198,18 @@ int ahci_probe_scsi(struct udevice *ahci_dev, ulong base)
>>>>    int ahci_probe_scsi_pci(struct udevice *ahci_dev)
>>>>    {
>>>>           ulong base;
>>>> +       u16 vendor, device;
>>>>
>>>>           base = (ulong)dm_pci_map_bar(ahci_dev, PCI_BASE_ADDRESS_5,
>>>>                                        PCI_REGION_MEM);
>>>>
>>>> +       dm_pci_read_config16(ahci_dev, PCI_VENDOR_ID, &vendor);
>>>> +       dm_pci_read_config16(ahci_dev, PCI_DEVICE_ID, &device);
>>>> +
>>>> +       if (vendor == PCI_VENDOR_ID_CAVIUM &&
>>>> +           device == PCI_DEVICE_ID_CAVIUM_SATA)
>>>> +               base = (uintptr_t)dm_pci_map_bar(ahci_dev, PCI_BASE_ADDRESS_0,
>>>> +                                                PCI_REGION_MEM);
>>>
>>> How should we handle this in general? Should we have a Kconfig to
>>> enable quirks in ahci?
>>
>> Perhaps we should wait a bit until, other "quirks" for AHCI get posted.
>> Only then we can see, where and how these can be grouped and can
>> "extract" them into Kconfig option(s). One quirk is the overhead of
>> the additional Kconfig option / handling not worth, IMHO.
>>
>> What do you think?
> 
> Sounds OK to me. You could add a note about it perhaps.

Okay, will do.

Thanks,
Stefan


More information about the U-Boot mailing list