qemu-block
[Top][All Lists]
Advanced

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

Re: [PATCH v3 5/8] hw/ide/ahci: PxSACT and PxCI is cleared when PxCMD.ST


From: Philippe Mathieu-Daudé
Subject: Re: [PATCH v3 5/8] hw/ide/ahci: PxSACT and PxCI is cleared when PxCMD.ST is cleared
Date: Wed, 19 Jul 2023 13:50:40 +0200
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.13.0

On 9/6/23 16:08, Niklas Cassel wrote:
From: Niklas Cassel <niklas.cassel@wdc.com>

According to AHCI 1.3.1 definition of PxSACT:
This field is cleared when PxCMD.ST is written from a '1' to a '0' by
software. This field is not cleared by a COMRESET or a software reset.

Interesting, since its origin in commit f6ad2e32f8 ("ahci: add ahci
emulation") PxSACT is reset unconditionally in ahci_reset_port().

As for this patch:
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>

According to AHCI 1.3.1 definition of PxCI:
This field is also cleared when PxCMD.ST is written from a '1' to a '0'
by software.

Clearing PxCMD.ST is part of the error recovery procedure, see
AHCI 1.3.1, section "6.2 Error Recovery".

If we don't clear PxCI on error recovery, the previous command will
incorrectly still be marked as pending after error recovery.

Signed-off-by: Niklas Cassel <niklas.cassel@wdc.com>
---
  hw/ide/ahci.c | 5 +++++
  1 file changed, 5 insertions(+)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]