public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Albecki, Mateusz" <mateusz.albecki@intel.com>
To: devel@edk2.groups.io
Cc: Mateusz Albecki <mateusz.albecki@intel.com>,
	Ray Ni <ray.ni@intel.com>, Hao A Wu <hao.a.wu@intel.com>
Subject: [PATCH 0/4] MdeModulePkg/AtaAtapiPassThru: Add SATA error recovery
Date: Tue,  3 Nov 2020 14:23:44 +0100	[thread overview]
Message-ID: <20201103132348.2916-1-mateusz.albecki@intel.com> (raw)

To increase boot stability when booting from SATA drives SATA driver should
implement the AHCI spec defined port error recovery. This will allow the
driver to handle random fails on SATA link.

Performed tests on 2 setups. One with AHCI controller booting OS
successfully without error recovery(control setup) and other which
fails 1 in 5 times(fail setup).

Tests performed:
1. Booted control setup to OS successfully.
2. Checked if during normal boot none of the packets is repeated(this came
up after previous code version had a bug which repeated each DMA packet 5
times).
3. Booted control setup to OS with simulated errors appearing on first
packet of every DMA transaction.
4. Performed extensive tests on fail setup. Fail rate decreased from 20%
failure to ~1% failure. 1% failure is observed during OS execution,
not BIOS so in a way boot is 100% stable).

Change pushed to github:
This series:
https://github.com/malbecki/edk2/commits/sata_recovery2
Simulated errors:
https://github.com/malbecki/edk2/commits/sata_recovery_simulated_error

Signed-off-by: Mateusz Albecki <mateusz.albecki@intel.com>

Cc: Ray Ni <ray.ni@intel.com>
Cc: Hao A Wu <hao.a.wu@intel.com>

Albecki (4):
  MdeModulePkg/AtaAtapiPassThru: Check IS to check for command
    completion
  MdeModulePkg/AtaAtapiPassThru: Add SATA error recovery flow
  MdeModulePkg/AtaAtapiPassThru: Restart failed packets
  MdeModulePkg/AtaAtapiPassThru: Trace ATA packets

 .../Bus/Ata/AtaAtapiPassThru/AhciMode.c       | 801 +++++++++++-------
 .../Bus/Ata/AtaAtapiPassThru/AhciMode.h       |  16 +-
 2 files changed, 532 insertions(+), 285 deletions(-)

-- 
2.28.0.windows.1

---------------------------------------------------------------------
Intel Technology Poland sp. z o.o.
ul. Sowackiego 173 | 80-298 Gdask | Sd Rejonowy Gdask Pnoc | VII Wydzia Gospodarczy Krajowego Rejestru Sdowego - KRS 101882 | NIP 957-07-52-316 | Kapita zakadowy 200.000 PLN.
Ta wiadomo wraz z zacznikami jest przeznaczona dla okrelonego adresata i moe zawiera informacje poufne. W razie przypadkowego otrzymania tej wiadomoci, prosimy o powiadomienie nadawcy oraz trwae jej usunicie; jakiekolwiek przegldanie lub rozpowszechnianie jest zabronione.
This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). If you are not the intended recipient, please contact the sender and delete all copies; any review or distribution by others is strictly prohibited.
 


             reply	other threads:[~2020-11-03 13:23 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-03 13:23 Albecki, Mateusz [this message]
2020-11-03 13:23 ` [PATCH 1/4] MdeModulePkg/AtaAtapiPassThru: Check IS to check for command completion Albecki, Mateusz
2020-11-04  5:33   ` Wu, Hao A
2020-11-04 11:54     ` Albecki, Mateusz
2020-11-03 13:23 ` [PATCH 2/4] MdeModulePkg/AtaAtapiPassThru: Add SATA error recovery flow Albecki, Mateusz
2020-11-04  5:33   ` Wu, Hao A
2020-11-03 13:23 ` [PATCH 3/4] MdeModulePkg/AtaAtapiPassThru: Restart failed packets Albecki, Mateusz
2020-11-04  5:33   ` Wu, Hao A
2020-11-03 13:23 ` [PATCH 4/4] MdeModulePkg/AtaAtapiPassThru: Trace ATA packets Albecki, Mateusz
2020-11-04  5:33   ` Wu, Hao A
2020-11-04  1:57 ` [PATCH 0/4] MdeModulePkg/AtaAtapiPassThru: Add SATA error recovery Wu, Hao A

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-list 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=20201103132348.2916-1-mateusz.albecki@intel.com \
    --to=devel@edk2.groups.io \
    /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