Branch: refs/heads/master
  Home:   https://github.com/tianocore/edk2
  Commit: e94d04a01b5a631390f6abd0d1e8f62a347ca72c
      
https://github.com/tianocore/edk2/commit/e94d04a01b5a631390f6abd0d1e8f62a347ca72c
  Author: Gary Lin <[email protected]>
  Date:   2020-07-17 (Fri, 17 Jul 2020)

  Changed paths:
    A OvmfPkg/LsiScsiDxe/LsiScsi.c
    A OvmfPkg/LsiScsiDxe/LsiScsiDxe.inf
    M OvmfPkg/OvmfPkgIa32.dsc
    M OvmfPkg/OvmfPkgIa32.fdf
    M OvmfPkg/OvmfPkgIa32X64.dsc
    M OvmfPkg/OvmfPkgIa32X64.fdf
    M OvmfPkg/OvmfPkgX64.dsc
    M OvmfPkg/OvmfPkgX64.fdf

  Log Message:
  -----------
  OvmfPkg/LsiScsiDxe: Create the empty driver

Create the driver with only a dummy LsiScsiEntryPoint() for the further
implementation of the driver for LSI 53C895A SCSI controller.

v2: Fix the mixed-case GUID string

Cc: Jordan Justen <[email protected]>
Cc: Laszlo Ersek <[email protected]>
Cc: Ard Biesheuvel <[email protected]>
Signed-off-by: Gary Lin <[email protected]>
Reviewed-by: Laszlo Ersek <[email protected]>
Message-Id: <[email protected]>


  Commit: 5e6b870a53f7c6eb38bdab27bcdae3e42b2a4ff2
      
https://github.com/tianocore/edk2/commit/5e6b870a53f7c6eb38bdab27bcdae3e42b2a4ff2
  Author: Gary Lin <[email protected]>
  Date:   2020-07-17 (Fri, 17 Jul 2020)

  Changed paths:
    M OvmfPkg/LsiScsiDxe/LsiScsi.c
    A OvmfPkg/LsiScsiDxe/LsiScsi.h
    M OvmfPkg/LsiScsiDxe/LsiScsiDxe.inf

  Log Message:
  -----------
  OvmfPkg/LsiScsiDxe: Install the skeleton of driver binding

Implement the dummy functions for EFI Driver Binding protocol.

v2: Remove "STATIC" from LsiScsiControllerSupported()

Cc: Jordan Justen <[email protected]>
Cc: Laszlo Ersek <[email protected]>
Cc: Ard Biesheuvel <[email protected]>
Signed-off-by: Gary Lin <[email protected]>
Reviewed-by: Laszlo Ersek <[email protected]>
Message-Id: <[email protected]>


  Commit: 386ca8abf74cd98ca9c0ef64b4427acd4e2e2431
      
https://github.com/tianocore/edk2/commit/386ca8abf74cd98ca9c0ef64b4427acd4e2e2431
  Author: Gary Lin <[email protected]>
  Date:   2020-07-17 (Fri, 17 Jul 2020)

  Changed paths:
    M OvmfPkg/LsiScsiDxe/LsiScsi.c
    M OvmfPkg/LsiScsiDxe/LsiScsi.h

  Log Message:
  -----------
  OvmfPkg/LsiScsiDxe: Report the name of the driver

Implement LsiScsiGetDriverName() and LsiScsiGetDeviceName()
to report the name of the driver.

Cc: Jordan Justen <[email protected]>
Cc: Laszlo Ersek <[email protected]>
Cc: Ard Biesheuvel <[email protected]>
Signed-off-by: Gary Lin <[email protected]>
Reviewed-by: Laszlo Ersek <[email protected]>
Message-Id: <[email protected]>


  Commit: 79f802a50ee942e297c86138e6c19cab77a3a2eb
      
https://github.com/tianocore/edk2/commit/79f802a50ee942e297c86138e6c19cab77a3a2eb
  Author: Gary Lin <[email protected]>
  Date:   2020-07-17 (Fri, 17 Jul 2020)

  Changed paths:
    A OvmfPkg/Include/IndustryStandard/LsiScsi.h
    M OvmfPkg/LsiScsiDxe/LsiScsi.c
    M OvmfPkg/LsiScsiDxe/LsiScsiDxe.inf

  Log Message:
  -----------
  OvmfPkg/LsiScsiDxe: Probe PCI devices and look for LsiScsi

Implement LsiScsiControllerSupported() to probe the PCI ID and look for
LSI 53C895A.

Cc: Jordan Justen <[email protected]>
Cc: Laszlo Ersek <[email protected]>
Cc: Ard Biesheuvel <[email protected]>
Signed-off-by: Gary Lin <[email protected]>
Reviewed-by: Laszlo Ersek <[email protected]>
Message-Id: <[email protected]>


  Commit: 23d982e20528261b0bb3a704131d78d7e05bc59d
      
https://github.com/tianocore/edk2/commit/23d982e20528261b0bb3a704131d78d7e05bc59d
  Author: Gary Lin <[email protected]>
  Date:   2020-07-17 (Fri, 17 Jul 2020)

  Changed paths:
    M OvmfPkg/LsiScsiDxe/LsiScsi.c
    M OvmfPkg/LsiScsiDxe/LsiScsi.h
    M OvmfPkg/LsiScsiDxe/LsiScsiDxe.inf

  Log Message:
  -----------
  OvmfPkg/LsiScsiDxe: Install stubbed EXT_SCSI_PASS_THRU

Partially implement LsiScsiControllerStart() and LsiScsiControllerStop()
to insert the scaffolding of EXT_SCSI_PASS_THRU functions.

v3: Squash the newline below the declaration of LSI_SCSI_FROM_PASS_THRU
v2: Remove the closing of PciIo protocol from LsiScsiControllerStop().

Cc: Jordan Justen <[email protected]>
Cc: Laszlo Ersek <[email protected]>
Cc: Ard Biesheuvel <[email protected]>
Signed-off-by: Gary Lin <[email protected]>
Reviewed-by: Laszlo Ersek <[email protected]>
Message-Id: <[email protected]>


  Commit: 12d99b8f2367c2fd1ca9b3165acd52a0c9dcc99e
      
https://github.com/tianocore/edk2/commit/12d99b8f2367c2fd1ca9b3165acd52a0c9dcc99e
  Author: Gary Lin <[email protected]>
  Date:   2020-07-17 (Fri, 17 Jul 2020)

  Changed paths:
    M OvmfPkg/LsiScsiDxe/LsiScsi.c
    M OvmfPkg/LsiScsiDxe/LsiScsi.h
    M OvmfPkg/LsiScsiDxe/LsiScsiDxe.inf
    M OvmfPkg/OvmfPkg.dec

  Log Message:
  -----------
  OvmfPkg/LsiScsiDxe: Report Targets and LUNs

Implement LsiScsiGetNextTargetLun(), LsiScsiBuildDevicePath(),
LsiScsiGetTargetLun(), and LsiScsiGetNextTarget() to report Targets and
LUNs and build the device path.

This commit also introduces two PCD value: PcdLsiScsiMaxTargetLimit and
PcdLsiScsiMaxLunLimit as the limits for Targets and LUNs.

v3:
  - Update the range of LUN in the assertioin
  - Squash the spurious newline into the previous commit
v2:
  - Zero out (*Target) in LsiScsiGetTargetLun()
  - Use CopyMem() instead of the one-byte shortcut to copy target from
    ScsiDevicePath->Pun
  - Add asserts for PcdLsiScsiMaxTargetLimit and PcdLsiScsiMaxLunLimit

Cc: Jordan Justen <[email protected]>
Cc: Laszlo Ersek <[email protected]>
Cc: Ard Biesheuvel <[email protected]>
Signed-off-by: Gary Lin <[email protected]>
Message-Id: <[email protected]>
Reviewed-by: Laszlo Ersek <[email protected]>


  Commit: 8d6193902f2da15c8bad9941bfe493cca903a3ca
      
https://github.com/tianocore/edk2/commit/8d6193902f2da15c8bad9941bfe493cca903a3ca
  Author: Gary Lin <[email protected]>
  Date:   2020-07-17 (Fri, 17 Jul 2020)

  Changed paths:
    M OvmfPkg/Include/IndustryStandard/LsiScsi.h
    M OvmfPkg/LsiScsiDxe/LsiScsi.c
    M OvmfPkg/LsiScsiDxe/LsiScsi.h

  Log Message:
  -----------
  OvmfPkg/LsiScsiDxe: Open PciIo protocol and initialize the device

Open PciIo protocol and use it to initialize the device. The
initialization of LSI 53C895A is simple: just set the SRST bit in
Interrupt Status Zero register to reset the device.

v2:
  - Use the BITx macros for the bit constants
  - Add the closing of PciIo protocol in LsiScsiControllerStop()

Cc: Jordan Justen <[email protected]>
Cc: Laszlo Ersek <[email protected]>
Cc: Ard Biesheuvel <[email protected]>
Signed-off-by: Gary Lin <[email protected]>
Message-Id: <[email protected]>
Reviewed-by: Laszlo Ersek <[email protected]>


  Commit: f1d6c1eba1b76e57568c8d7c947f60041939f1f9
      
https://github.com/tianocore/edk2/commit/f1d6c1eba1b76e57568c8d7c947f60041939f1f9
  Author: Gary Lin <[email protected]>
  Date:   2020-07-17 (Fri, 17 Jul 2020)

  Changed paths:
    M OvmfPkg/LsiScsiDxe/LsiScsi.c
    M OvmfPkg/LsiScsiDxe/LsiScsi.h

  Log Message:
  -----------
  OvmfPkg/LsiScsiDxe: Map DMA buffer

Map DMA buffer and perpare for the implementation of LsiScsiPassThru().

v2:
  - Replace 0x10000 with SIZE_64KB macro for the DMA buffer data array
  - Remove DUAL_ADDRESS_CYCLE from PciIo since we don't really need
    64-bit DMA address

Cc: Jordan Justen <[email protected]>
Cc: Laszlo Ersek <[email protected]>
Cc: Ard Biesheuvel <[email protected]>
Signed-off-by: Gary Lin <[email protected]>
Reviewed-by: Laszlo Ersek <[email protected]>
Message-Id: <[email protected]>


  Commit: 97e60818b64495db562dc456a1fb31980898f4c3
      
https://github.com/tianocore/edk2/commit/97e60818b64495db562dc456a1fb31980898f4c3
  Author: Gary Lin <[email protected]>
  Date:   2020-07-17 (Fri, 17 Jul 2020)

  Changed paths:
    M OvmfPkg/LsiScsiDxe/LsiScsi.c
    M OvmfPkg/LsiScsiDxe/LsiScsi.h

  Log Message:
  -----------
  OvmfPkg/LsiScsiDxe: Examine the incoming SCSI Request Packet

This is the first part of LsiScsiPassThru(). Before processing the SCSI
Request packet, we have to make sure whether the packet is valid or not.

v2: Make LsiScsiPassThru() return EFI_UNSUPPORTED since this function is
    half-implemented

Cc: Jordan Justen <[email protected]>
Cc: Laszlo Ersek <[email protected]>
Cc: Ard Biesheuvel <[email protected]>
Signed-off-by: Gary Lin <[email protected]>
Reviewed-by: Laszlo Ersek <[email protected]>
Message-Id: <[email protected]>


  Commit: 31830b07020c9796579d5b08dd642d19bce7d4f5
      
https://github.com/tianocore/edk2/commit/31830b07020c9796579d5b08dd642d19bce7d4f5
  Author: Gary Lin <[email protected]>
  Date:   2020-07-17 (Fri, 17 Jul 2020)

  Changed paths:
    M OvmfPkg/Include/IndustryStandard/LsiScsi.h
    M OvmfPkg/LsiScsiDxe/LsiScsi.c
    M OvmfPkg/LsiScsiDxe/LsiScsi.h
    M OvmfPkg/LsiScsiDxe/LsiScsiDxe.inf
    M OvmfPkg/OvmfPkg.dec

  Log Message:
  -----------
  OvmfPkg/LsiScsiDxe: Process the SCSI Request Packet

This is the second part of LsiScsiPassThru(). LsiScsiProcessRequest() is
added to translate the SCSI Request Packet into the LSI 53C895A
commands. This function utilizes the so-called Script buffer to transmit
a series of commands to the chip and then polls the DMA Status (DSTAT)
register until the Scripts Interrupt Instruction Received (SIR) bit
sets. Once the script is done, the SCSI Request Packet will be modified
to reflect the result of the script. The Cumulative SCSI Byte Count
(CSBC) register is fetched before and after the script to calculate the
transferred bytes and update InTransferLength/OutTransferLength if
necessary.

v3:
  - Set DStat, SIst0, and SIst1 to 0 before using them
  - Amend the if statements for the DMA data instruction and add the
    assertions for the data direction
  - Also set SenseDataLength to 0 on the error path
  - Fix typos and amend comments
  - Amend the error handling of the calculation of transferred bytes
v2:
  - Use the BITx macros for the most of LSI_* constants
  - Fix a typo: contorller => controller
  - Add SeaBIOS lsi-scsi driver as one of the references of the script
  - Cast the result of sizeof to UINT32 for the instructions of the
    script
  - Drop the backslashes
  - Replace LSI_SCSI_DMA_ADDR_LOW with LSI_SCSI_DMA_ADDR since we
    already removed DUAL_ADDRESS_CYCLE
  - Add more comments for the script
  - Fix the check of the script size at the end of the script
  - Always set SenseDataLength to 0 to avoid the caller to access
    SenseData
  - Improve the error handling in LsiScsiProcessRequest()

Cc: Jordan Justen <[email protected]>
Cc: Laszlo Ersek <[email protected]>
Cc: Ard Biesheuvel <[email protected]>
Signed-off-by: Gary Lin <[email protected]>
Message-Id: <[email protected]>
Reviewed-by: Laszlo Ersek <[email protected]>


  Commit: 3d8327496762b4f2a54c9bafd7a214314ec28e9e
      
https://github.com/tianocore/edk2/commit/3d8327496762b4f2a54c9bafd7a214314ec28e9e
  Author: Gary Lin <[email protected]>
  Date:   2020-07-17 (Fri, 17 Jul 2020)

  Changed paths:
    M Maintainers.txt

  Log Message:
  -----------
  Maintainers.txt: Add Gary Lin as the reviewer for LsiScsi driver

Cc: Jordan Justen <[email protected]>
Cc: Laszlo Ersek <[email protected]>
Cc: Ard Biesheuvel <[email protected]>
Signed-off-by: Gary Lin <[email protected]>
Reviewed-by: Laszlo Ersek <[email protected]>
Message-Id: <[email protected]>


Compare: https://github.com/tianocore/edk2/compare/6ff53d2a1374...3d8327496762


_______________________________________________
edk2-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-commits

Reply via email to