public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: Ard Biesheuvel <ard.biesheuvel@linaro.org>
To: Jeremy Linton <jeremy.linton@arm.com>
Cc: edk2-devel-01 <edk2-devel@lists.01.org>,
	Steve Capper <steve.capper@arm.com>,
	 Leif Lindholm <leif.lindholm@linaro.org>,
	Ryan Harkin <ryan.harkin@linaro.org>,
	linaro-uefi <linaro-uefi@lists.linaro.org>
Subject: Re: [PATCH 0/8] ATAPI support on SiI SATA adapter
Date: Tue, 15 Nov 2016 14:57:48 +0000	[thread overview]
Message-ID: <CAKv+Gu_OgWZNQj3L8ULFcAT-w3Uk=_Kw7yB48opf-_szDyOW_w@mail.gmail.com> (raw)
In-Reply-To: <bde2e447-967f-190b-f76d-e27179dad206@arm.com>

On 15 November 2016 at 14:54, Jeremy Linton <jeremy.linton@arm.com> wrote:
> On 11/15/2016 01:43 AM, Ard Biesheuvel wrote:
>>
>> Hi Jeremy,
>>
>> On 14 November 2016 at 21:09, Jeremy Linton <jeremy.linton@arm.com> wrote:
>>>
>>> The SiI isn't an AHCI compatible adapter so it implements the EFI ATA
>>> pass-through protocol directly. This works for fixed hard drives, but
>>> not ATAPI attached devices (CDROM, DVDROM, TAPE, etc).
>>>
>>> This patch adds read only ATAPI support via the EFI SCSI pass-through
>>> protocol, allowing boot from attached CD/DVD. This patch also cleans
>>> up, and tweaks recovery paths/etc in the original driver.
>>
>>
>> Very nice! Thanks for getting to the bottom of this.
>>
>> However, looking at the patches, they are riddled with coding style
>> violations. I am usually less strict than Leif when it comes to
>> upholding those, but these patches really need to be cleaned up to be
>> considered for merging.
>
>
>
> Is there a tool which can correct or at least point out the formatting
> errors?
>

Yes, BaseTools/Scripts/PatchCheck.py

>
>>
>>> When
>>> combined with the ARM/PCI dma lib changes this allows us to relax the
>>> IO alignment requirement that caused grub failures.
>>>
>>
>> What changes are you referring to here?
>
>
> I believe on juno the PCI changed from the ArmDmaLib to the null lib or some
> such, which removed the bounce buffering on unaligned map/unmap.
>

Indeed, it removed the use of uncached memory, which does not work for
coherent masters.
I only realize now that the Sil3132 is a coherent PCI device, and that
you were using 4 KB IoAlign to work around the non-coherent nature of
ArmDmaLib


>
>>
>>> Finally, the OpenPlatformPkg/Juno must be updated, with another patch
>>> to avoid build breaks now that the SiI has a dependency on the SCSI
>>> libraries.
>>>
>>> Contributed-under: TianoCore Contribution Agreement 1.0
>>> Signed-off-by: Jeremy Linton <jeremy.linton@arm.com>
>>>
>>> Jeremy Linton (7):
>>>   MdePkg IndustryStandard/Scsi.h: Add sense code macro
>>>   EmbeddedPkg: SiI3132: Add ScsiProtocol callbacks
>>>   EmbeddedPkg: SiI3132: Add SCSI protocol support to header
>>>   EmbeddedPkg: SiI3132: Break out FIS command submission
>>>   EmbeddedPkg: SiI3132: Cleanup device node creation
>>>   EmbeddedPkg: SiI3132: Enable SCSI pass-through protocol
>>>   EmbeddedPkg: SiI3132: Correct the IoAlign
>>>
>>>  EmbeddedPkg/Drivers/SataSiI3132Dxe/SataSiI3132.c   |  48 ++-
>>>  EmbeddedPkg/Drivers/SataSiI3132Dxe/SataSiI3132.h   |  89 ++++-
>>>  .../Drivers/SataSiI3132Dxe/SataSiI3132Dxe.inf      |   2 +
>>>  .../Drivers/SataSiI3132Dxe/SiI3132AtaPassThru.c    | 270 ++++++++------
>>>  .../Drivers/SataSiI3132Dxe/SiI3132ScsiPassThru.c   | 401
>>> +++++++++++++++++++++
>>>  MdePkg/Include/IndustryStandard/Scsi.h             |   2 +
>>>  OpenPlatformPkg                                    |   2 +-
>>>  7 files changed, 688 insertions(+), 126 deletions(-)
>>>  create mode 100644
>>> EmbeddedPkg/Drivers/SataSiI3132Dxe/SiI3132ScsiPassThru.c
>>>
>>> --
>>> 2.5.5
>>>
>>> _______________________________________________
>>> edk2-devel mailing list
>>> edk2-devel@lists.01.org
>>> https://lists.01.org/mailman/listinfo/edk2-devel
>
>


  reply	other threads:[~2016-11-15 14:57 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-14 21:09 [PATCH 0/8] ATAPI support on SiI SATA adapter Jeremy Linton
2016-11-14 21:09 ` [PATCH 1/7] MdePkg IndustryStandard/Scsi.h: Add sense code macro Jeremy Linton
2016-11-15  7:38   ` Ard Biesheuvel
2016-11-15 10:51   ` Gao, Liming
2016-11-14 21:09 ` [PATCH 2/7] EmbeddedPkg: SiI3132: Add ScsiProtocol callbacks Jeremy Linton
2016-11-15 16:04   ` Ard Biesheuvel
2016-11-14 21:09 ` [PATCH 3/7] EmbeddedPkg: SiI3132: Add SCSI protocol support to header Jeremy Linton
2016-11-14 21:24   ` Jeremy Linton
2016-11-15 17:02     ` Ard Biesheuvel
2016-11-16 15:44   ` Ryan Harkin
2016-11-14 21:09 ` [PATCH 4/7] EmbeddedPkg: SiI3132: Break out FIS command submission Jeremy Linton
2016-11-15 17:10   ` Ard Biesheuvel
2016-11-14 21:09 ` [PATCH 5/7] EmbeddedPkg: SiI3132: Cleanup device node creation Jeremy Linton
2016-11-14 21:09 ` [PATCH 6/7] EmbeddedPkg: SiI3132: Enable SCSI pass-through protocol Jeremy Linton
2016-11-14 21:09 ` [PATCH 7/7] EmbeddedPkg: SiI3132: Correct the IoAlign Jeremy Linton
2016-11-14 21:09 ` [PATCH] Platforms/ARM/Juno: Add SCSI pass-through protocol Jeremy Linton
2016-11-15  7:43 ` [PATCH 0/8] ATAPI support on SiI SATA adapter Ard Biesheuvel
2016-11-15 14:54   ` Jeremy Linton
2016-11-15 14:57     ` Ard Biesheuvel [this message]
2016-11-15 15:05       ` Jeremy Linton
2016-11-15 15:10         ` Ard Biesheuvel

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='CAKv+Gu_OgWZNQj3L8ULFcAT-w3Uk=_Kw7yB48opf-_szDyOW_w@mail.gmail.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