Re: AHCI hotplug no longer functions on ICH7

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, May 27, 2024 at 11:59:44AM +0300, Tasos Sahanidis wrote:
> Hi Niklas,
> 
> Thank you kindly for your response.
> 
> On 2024-05-21 16:47, Niklas Cassel wrote:
> > If your port is external or hot plug capable, then your platform firmware/BIOS
> > should set either the "PORT_CMD_ESP and HOST_CAP_SXS" bits or the
> > "PORT_CMD_HPCP" bit.
> > 
> > See:
> > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/drivers/ata?id=45b96d65ec68f625ad26ee16d2f556e29f715005
> 
> Understood. I had looked at that commit, but did not look into those
> bits in detail. They were obviously not set correctly, thus the port was 
> not marked external.
> 
> > Is there any option in your BIOS to mark the port as external or hot plug
> > capable?
> > 
> > 
> > If not, then your platform firmware is broken and needs to be quirked.
> > 
> > Please provde the output from
> > # dmidecode
> > so that we can apply a quirk for your broken platform.
> 
> I went through again and checked for any "hotplug" or "external" options
> and found nothing. I was ready to try to make a quirk for it, but then I
> noticed the option "ALPE and ASP" under IDE Configuration (section 
> 4.3.6, page 4-17 of the user's manual [0]). It was set to enabled, so I 
> disabled it. That did the trick and the ports are now marked as 
> external.

Great!

Even if the platform implementation is not that great in my opinion...
I mean, a port is either "external"/"hotplug capable" or it isn't :)
(It shouldn't matter if ALPE (or SALP) is enabled or not.)

Aggressive Link Power Management Enable (ALPE) is simply the enable bit
corresponding to the Supports Aggressive Link Power Management (SALP) bit.

So the expectation would be that setting "ALPE" to false simply changes
the bootup value of the "ALPE" bit to false.

However, I'm guessing that your platform implementation probably toggles
"SALP" instead of toggling "ALPE".

Regardless, we can clearly see that setting "ALPE" to false also changes
either the "PORT_CMD_ESP and HOST_CAP_SXS" bits or the "PORT_CMD_HPCP" bit
as well...


> Thank you for your time, and apologies for not noticing this earlier.
> Perhaps this helps someone in the future with the same issue.

No need to apologize!

Thank you for reporting the regression on the mailing list.

Now we know that some platform implementations toggle either the
"PORT_CMD_ESP and HOST_CAP_SXS" bits or the "PORT_CMD_HPCP" bit,
when "Aggressive Link Power Management" is toggled in the BIOS.

Perhaps some other platform implementations do the same, so this
information might be helpful to others in the future.


Kind regards,
Niklas




[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux