[PATCH for-6.2 0/2] escc: fixes for STATUS_TXEMPTY and SPEC_ALLSENT

Mark Cave-Ayland posted 2 patches 2 years, 5 months ago
Test checkpatch passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20211118181835.18497-1-mark.cave-ayland@ilande.co.uk
Maintainers: "Marc-André Lureau" <marcandre.lureau@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>
hw/char/escc.c | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
[PATCH for-6.2 0/2] escc: fixes for STATUS_TXEMPTY and SPEC_ALLSENT
Posted by Mark Cave-Ayland 2 years, 5 months ago
This is another attempt to fix booting 32-bit QEMU SPARC machines in
qemu-system-sparc using a real Sun PROM based upon further experiments and
re-reading of the ESCC datasheet from a previous patch posted at
https://lists.gnu.org/archive/html/qemu-devel/2021-11/msg00324.html.

It appears that both the Sun PROM and OpenBSD with OpenBIOS fail to send an
explicit reset command as recommended in the ESCC datasheet, which causes
hangs during serial port enumeration since the introduction of the recent
ESCC reset changes.

The first patch always sets STATUS_TXEMPTY in R_STATUS on hardware reset
which wasn't documented in the "Reset" section(s) but is documented in the
"Transmit Interrupts and Transmit Buffer Empty Bit" section, whilst the
second patch updates SPEC_ALLSENT when writing to W_TXCTRL1.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>


Mark Cave-Ayland (2):
  escc: always set STATUS_TXEMPTY in R_STATUS on device reset
  escc: update the R_SPEC register SPEC_ALLSENT bit when writing to
    W_TXCTRL1

 hw/char/escc.c | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

-- 
2.20.1


Re: [PATCH for-6.2 0/2] escc: fixes for STATUS_TXEMPTY and SPEC_ALLSENT
Posted by Peter Maydell 2 years, 5 months ago
On Thu, 18 Nov 2021 at 18:18, Mark Cave-Ayland
<mark.cave-ayland@ilande.co.uk> wrote:
>
> This is another attempt to fix booting 32-bit QEMU SPARC machines in
> qemu-system-sparc using a real Sun PROM based upon further experiments and
> re-reading of the ESCC datasheet from a previous patch posted at
> https://lists.gnu.org/archive/html/qemu-devel/2021-11/msg00324.html.
>
> It appears that both the Sun PROM and OpenBSD with OpenBIOS fail to send an
> explicit reset command as recommended in the ESCC datasheet, which causes
> hangs during serial port enumeration since the introduction of the recent
> ESCC reset changes.
>
> The first patch always sets STATUS_TXEMPTY in R_STATUS on hardware reset
> which wasn't documented in the "Reset" section(s) but is documented in the
> "Transmit Interrupts and Transmit Buffer Empty Bit" section, whilst the
> second patch updates SPEC_ALLSENT when writing to W_TXCTRL1.
>
> Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>

Series
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>

thanks
-- PMM

Re: [PATCH for-6.2 0/2] escc: fixes for STATUS_TXEMPTY and SPEC_ALLSENT
Posted by Mark Cave-Ayland 2 years, 5 months ago
On 18/11/2021 18:23, Peter Maydell wrote:

> On Thu, 18 Nov 2021 at 18:18, Mark Cave-Ayland
> <mark.cave-ayland@ilande.co.uk> wrote:
>>
>> This is another attempt to fix booting 32-bit QEMU SPARC machines in
>> qemu-system-sparc using a real Sun PROM based upon further experiments and
>> re-reading of the ESCC datasheet from a previous patch posted at
>> https://lists.gnu.org/archive/html/qemu-devel/2021-11/msg00324.html.
>>
>> It appears that both the Sun PROM and OpenBSD with OpenBIOS fail to send an
>> explicit reset command as recommended in the ESCC datasheet, which causes
>> hangs during serial port enumeration since the introduction of the recent
>> ESCC reset changes.
>>
>> The first patch always sets STATUS_TXEMPTY in R_STATUS on hardware reset
>> which wasn't documented in the "Reset" section(s) but is documented in the
>> "Transmit Interrupts and Transmit Buffer Empty Bit" section, whilst the
>> second patch updates SPEC_ALLSENT when writing to W_TXCTRL1.
>>
>> Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
> 
> Series
> Reviewed-by: Peter Maydell <peter.maydell@linaro.org>

Thanks Peter. I've added this to my qemu-sparc queue and will send a PR shortly with 
both yours and Philippe's R-B tags.


ATB,

Mark.