mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Mario Limonciello <mario.limonciello@amd.com>
To: Bjorn Helgaas <helgaas@kernel.org>, Niklas Cassel <cassel@kernel.org>
Cc: Bjorn Helgaas <bhelgaas@google.com>,
	Damien Le Moal <dlemoal@kernel.org>,
	Thomas Gleixner <tglx@kernel.org>, Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT)"
	<x86@kernel.org>, "H . Peter Anvin" <hpa@zytor.com>,
	"open list:PCI SUBSYSTEM" <linux-pci@vger.kernel.org>,
	"open list:X86 ARCHITECTURE (32-BIT AND 64-BIT)"
	<linux-kernel@vger.kernel.org>,
	"open list:LIBATA SUBSYSTEM (Serial and Parallel ATA drivers)"
	<linux-ide@vger.kernel.org>, Arthur Husband <artmoty@gmail.com>,
	Roland Waltersson <roland.waltersson@netinsight.net>,
	snoep <snoepke@live.nl>
Subject: Re: [PATCH v2 2/2] Revert "ata: ahci: force 32-bit DMA for JMicron JMB582/JMB585"
Date: Fri, 25 Sep 2026 15:01:39 -0500	[thread overview]
Message-ID: <3cbc91d7-3833-48e4-b21a-ed0f2b1370a7@amd.com> (raw)
In-Reply-To: <20260925194208.GA2072993@bhelgaas>



On 9/25/26 14:42, Bjorn Helgaas wrote:
> [+cc Roland, snoep]
> 
> On Tue, Sep 08, 2026 at 02:06:00PM -0500, Mario Limonciello wrote:
>> This reverts commit 105c42566a550e2d05fc14f763216a8765ee5d0e.
>>
>> The issue is actually a problem with BIOS configuaration of PCIe
>> root ports, enabling a feature that causes problems with 64-bit
>> DMA.  It is fixed by adjusting the kernel adjusting the
>> configuration of those root ports.
> 
> I'm a little concerned about doing this revert for v7.3:
> 
>    - The AMD issue should affect any SATA controller, but 105c42566a55
>      ("ata: ahci: force 32-bit DMA for JMicron JMB582/JMB585") is very
>      specific about JMicron JMB582/JMB585.
> 
>    - The BIOS configuration change only affects AMD NBIO 7.7 and 7.11
>      but the original posting [1] of 105c42566a55 ("ata: ahci: force
>      32-bit DMA for JMicron JMB582/JMB585") mentions Raspberry Pi,
>      which isn't AMD (the Raspberry Pi mention was removed before
>      105c42566a55 was merged).
> 
>    - There are reports of problems on Raspberry Pi 5 JMB585 [2], [3]
>      that don't seem completely resolved.
> 
>    - The revert doesn't seem like it fixes a problem, so I don't know
>      that I can justify it as post-rc1 material for v7.3; maybe the ATA
>      folks should take it for v7.4?
> 
> What if I just merge patch [1/2] ("x86/PCI: Disable enhanced atomics
> on AMD NBIO 7.7 and 7.11") for v7.3?  Would that leave anything
> broken?
> 
> [1] https://lore.kernel.org/all/20260403050225.50186-1-artmoty@gmail.com/t/#u)
> [2] https://forum.radxa.com/t/repeated-ext4-metadata-corruption-on-raspberry-pi-5-with-penta-sata-hat-jmb585-despite-healthy-ssds-and-raid1/31393/10
> [3] https://forums.raspberrypi.com/viewtopic.php?p=2386959#p2386959
> 
>> Cc: Arthur Husband <artmoty@gmail.com>
>> Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>

I think we should let Niklas speak up here because there was 
confirmation on this thread it's an AMD only issue.

https://lore.kernel.org/all/ap6RyP28fxXNjRWS@ryzen/


>> ---
>>   drivers/ata/ahci.c | 18 ------------------
>>   1 file changed, 18 deletions(-)
>>
>> diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c
>> index 9b8c0935001cb..bffe50a109b88 100644
>> --- a/drivers/ata/ahci.c
>> +++ b/drivers/ata/ahci.c
>> @@ -68,7 +68,6 @@ enum board_ids {
>>   	/* board IDs for specific chipsets in alphabetical order */
>>   	board_ahci_al,
>>   	board_ahci_avn,
>> -	board_ahci_jmb585,
>>   	board_ahci_mcp65,
>>   	board_ahci_mcp77,
>>   	board_ahci_mcp89,
>> @@ -213,15 +212,6 @@ static const struct ata_port_info ahci_port_info[] = {
>>   		.udma_mask	= ATA_UDMA6,
>>   		.port_ops	= &ahci_avn_ops,
>>   	},
>> -	/* JMicron JMB582/585: 64-bit DMA is broken, force 32-bit */
>> -	[board_ahci_jmb585] = {
>> -		AHCI_HFLAGS	(AHCI_HFLAG_IGN_IRQ_IF_ERR |
>> -				 AHCI_HFLAG_32BIT_ONLY),
>> -		.flags		= AHCI_FLAG_COMMON,
>> -		.pio_mask	= ATA_PIO4,
>> -		.udma_mask	= ATA_UDMA6,
>> -		.port_ops	= &ahci_ops,
>> -	},
>>   	[board_ahci_mcp65] = {
>>   		AHCI_HFLAGS	(AHCI_HFLAG_NO_FPDMA_AA | AHCI_HFLAG_NO_PMP |
>>   				 AHCI_HFLAG_YES_NCQ),
>> @@ -954,14 +944,6 @@ static const struct pci_device_id ahci_pci_tbl[] = {
>>   		/* Elkhart Lake AHCI */
>>   		PCI_VDEVICE(INTEL, 0x4b63),
>>   		.driver_data = board_ahci_pcs_quirk,
>> -	}, {
>> -		/* JMicron JMB582/585: force 32-bit DMA (broken 64-bit implementation) */
>> -		PCI_VDEVICE(JMICRON, 0x0582),
>> -		.driver_data = board_ahci_jmb585,
>> -
>> -	}, {
>> -		PCI_VDEVICE(JMICRON, 0x0585),
>> -		.driver_data = board_ahci_jmb585,
>>   	}, {
>>   		/* JMicron 360/1/3/5/6, match class to avoid IDE function */
>>   		PCI_DEVICE(PCI_VENDOR_ID_JMICRON, PCI_ANY_ID),
>> -- 
>> 2.43.0
>>


  reply	other threads:[~2026-09-25 20:01 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-08 19:05 [PATCH v2 0/2] Fix for storage corruption w/ AMD IOMMU on 64-bit addressing Mario Limonciello
2026-09-08 19:05 ` [PATCH v2 1/2] x86/PCI: Disable enhanced atomics on some AMD PCIe ports Mario Limonciello
2026-09-14 16:57   ` Mario Limonciello
2026-09-22 15:35     ` Mario Limonciello
2026-09-23 17:12   ` Bjorn Helgaas
2026-09-23 17:30     ` Mario Limonciello
2026-09-23 18:05       ` Bjorn Helgaas
2026-09-23 18:25         ` Mario Limonciello
2026-09-08 19:06 ` [PATCH v2 2/2] Revert "ata: ahci: force 32-bit DMA for JMicron JMB582/JMB585" Mario Limonciello
2026-09-22 12:52   ` Niklas Cassel
2026-09-25 19:42   ` Bjorn Helgaas
2026-09-25 20:01     ` Mario Limonciello [this message]
2026-09-21  4:52 ` [PATCH v2 0/2] Fix for storage corruption w/ AMD IOMMU on 64-bit addressing Mario Limonciello
2026-09-22  9:49   ` Niklas Cassel
2026-09-22 10:44     ` Mario Limonciello
2026-09-22 15:46   ` Mario Limonciello
2026-09-23 18:36 ` Bjorn Helgaas
2026-09-23 18:39   ` Mario Limonciello
2026-09-23 18:46     ` Bjorn Helgaas

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3cbc91d7-3833-48e4-b21a-ed0f2b1370a7@amd.com \
    --to=mario.limonciello@amd.com \
    --cc=artmoty@gmail.com \
    --cc=bhelgaas@google.com \
    --cc=bp@alien8.de \
    --cc=cassel@kernel.org \
    --cc=dave.hansen@linux.intel.com \
    --cc=dlemoal@kernel.org \
    --cc=helgaas@kernel.org \
    --cc=hpa@zytor.com \
    --cc=linux-ide@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=roland.waltersson@netinsight.net \
    --cc=snoepke@live.nl \
    --cc=tglx@kernel.org \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®