2023-10-13 08:36:07

by liuchang_125125

[permalink] [raw]
Subject: [PATCH 0/9] Add support for Bayhub SD/MMC controller

From: Charl Liu <[email protected]>

The Bayhub's SD/MMC Card interface driver implements card detection,
card initialization, and other application level functions. The whole
project is divided into 9 patches to commit. Patch [1/9] and patch
[2/9] commit the Kconfig and Makefile, and the other code is divided
into 7 patches (patch [3/9] to patch [9/9]) by function.

Charl Liu (9):
scsi: Update Kconfig and Makefile for supporting Bayhub's SD/MMC Card
interface driver
scsi: bht: Add Bayhub module's Kconfig and Makefile for compiling
Bayhub's SD/MMC Card interface driver
scsi: bht: card: Add the source files related to card initialization
scsi: bht: host: Add the source files related to host initialization,
command handler, interrupt handler and transfer handler
scsi: bht: include: Add the header files related to Bayhub specific
struct, enum and macro
scsi: bht: linux_os: Add the source files related to SCSI frame and
driver entry
scsi: bht: main: Add the source files related to driver setting
management
scsi: bht: tagqueue: Add the source files related to tagqueue transfer
function
scsi: bht: util: Add the source files related to utility

drivers/scsi/Kconfig | 1 +
drivers/scsi/Makefile | 2 +
drivers/scsi/bht/Kconfig | 10 +
drivers/scsi/bht/Makefile | 18 +
drivers/scsi/bht/card/card_ddr200_support.c | 195 ++
drivers/scsi/bht/card/card_ddr200_support.h | 38 +
drivers/scsi/bht/card/cardcommon.c | 961 ++++++
drivers/scsi/bht/card/cardcommon.h | 123 +
drivers/scsi/bht/card/cardinterface.c | 2448 ++++++++++++++
drivers/scsi/bht/card/mmc.c | 1666 ++++++++++
drivers/scsi/bht/card/output_tuning.c | 756 +++++
drivers/scsi/bht/card/sd.c | 3029 ++++++++++++++++++
drivers/scsi/bht/card/thermal.c | 348 ++
drivers/scsi/bht/card/uhs2.c | 1228 +++++++
drivers/scsi/bht/host/cmdhandler.c | 1686 ++++++++++
drivers/scsi/bht/host/handler.h | 36 +
drivers/scsi/bht/host/host.c | 2947 +++++++++++++++++
drivers/scsi/bht/host/hostreg.h | 478 +++
drivers/scsi/bht/host/hostven.c | 2774 ++++++++++++++++
drivers/scsi/bht/host/hostven.h | 31 +
drivers/scsi/bht/host/irqhandler.c | 742 +++++
drivers/scsi/bht/host/transhandler.c | 1730 ++++++++++
drivers/scsi/bht/include/basic.h | 395 +++
drivers/scsi/bht/include/card.h | 626 ++++
drivers/scsi/bht/include/cardapi.h | 85 +
drivers/scsi/bht/include/cfgmng.h | 1303 ++++++++
drivers/scsi/bht/include/cmdhandler.h | 289 ++
drivers/scsi/bht/include/debug.h | 169 +
drivers/scsi/bht/include/funcapi.h | 80 +
drivers/scsi/bht/include/function.h | 94 +
drivers/scsi/bht/include/globalcfg.h | 78 +
drivers/scsi/bht/include/host.h | 282 ++
drivers/scsi/bht/include/hostapi.h | 170 +
drivers/scsi/bht/include/hostvenapi.h | 47 +
drivers/scsi/bht/include/osapi.h | 201 ++
drivers/scsi/bht/include/reqapi.h | 80 +
drivers/scsi/bht/include/tq.h | 159 +
drivers/scsi/bht/include/tqapi.h | 36 +
drivers/scsi/bht/include/transh.h | 132 +
drivers/scsi/bht/include/transhapi.h | 25 +
drivers/scsi/bht/include/util.h | 37 +
drivers/scsi/bht/linux_os/linux_api.c | 2207 +++++++++++++
drivers/scsi/bht/linux_os/linux_api.h | 90 +
drivers/scsi/bht/linux_os/linux_base.c | 985 ++++++
drivers/scsi/bht/linux_os/linux_scsi.c | 1076 +++++++
drivers/scsi/bht/linux_os/linux_scsi.h | 239 ++
drivers/scsi/bht/main/autotimerfunc.c | 335 ++
drivers/scsi/bht/main/cfgmng.c | 1132 +++++++
drivers/scsi/bht/main/funcapi.h | 36 +
drivers/scsi/bht/main/geniofunc.c | 618 ++++
drivers/scsi/bht/main/pmfunc.c | 357 +++
drivers/scsi/bht/main/reqmng.c | 546 ++++
drivers/scsi/bht/main/testcase.c | 213 ++
drivers/scsi/bht/main/thread.c | 530 +++
drivers/scsi/bht/tagqueue/tagqueue.c | 2517 +++++++++++++++
drivers/scsi/bht/tagqueue/tq_merge.c | 433 +++
drivers/scsi/bht/tagqueue/tq_trans_api.h | 91 +
drivers/scsi/bht/tagqueue/tq_util.h | 29 +
drivers/scsi/bht/tagqueue/tqadma2.c | 821 +++++
drivers/scsi/bht/tagqueue/tqadma3.c | 504 +++
drivers/scsi/bht/tagqueue/tqadma_sdma_like.c | 373 +++
drivers/scsi/bht/tagqueue/tqpolicy.c | 210 ++
drivers/scsi/bht/tagqueue/tqsdma.c | 285 ++
drivers/scsi/bht/util/debug.c | 413 +++
drivers/scsi/bht/util/util.c | 141 +
65 files changed, 39716 insertions(+)
create mode 100644 drivers/scsi/bht/Kconfig
create mode 100644 drivers/scsi/bht/Makefile
create mode 100644 drivers/scsi/bht/card/card_ddr200_support.c
create mode 100644 drivers/scsi/bht/card/card_ddr200_support.h
create mode 100644 drivers/scsi/bht/card/cardcommon.c
create mode 100644 drivers/scsi/bht/card/cardcommon.h
create mode 100644 drivers/scsi/bht/card/cardinterface.c
create mode 100644 drivers/scsi/bht/card/mmc.c
create mode 100644 drivers/scsi/bht/card/output_tuning.c
create mode 100644 drivers/scsi/bht/card/sd.c
create mode 100644 drivers/scsi/bht/card/thermal.c
create mode 100644 drivers/scsi/bht/card/uhs2.c
create mode 100644 drivers/scsi/bht/host/cmdhandler.c
create mode 100644 drivers/scsi/bht/host/handler.h
create mode 100644 drivers/scsi/bht/host/host.c
create mode 100644 drivers/scsi/bht/host/hostreg.h
create mode 100644 drivers/scsi/bht/host/hostven.c
create mode 100644 drivers/scsi/bht/host/hostven.h
create mode 100644 drivers/scsi/bht/host/irqhandler.c
create mode 100644 drivers/scsi/bht/host/transhandler.c
create mode 100644 drivers/scsi/bht/include/basic.h
create mode 100644 drivers/scsi/bht/include/card.h
create mode 100644 drivers/scsi/bht/include/cardapi.h
create mode 100644 drivers/scsi/bht/include/cfgmng.h
create mode 100644 drivers/scsi/bht/include/cmdhandler.h
create mode 100644 drivers/scsi/bht/include/debug.h
create mode 100644 drivers/scsi/bht/include/funcapi.h
create mode 100644 drivers/scsi/bht/include/function.h
create mode 100644 drivers/scsi/bht/include/globalcfg.h
create mode 100644 drivers/scsi/bht/include/host.h
create mode 100644 drivers/scsi/bht/include/hostapi.h
create mode 100644 drivers/scsi/bht/include/hostvenapi.h
create mode 100644 drivers/scsi/bht/include/osapi.h
create mode 100644 drivers/scsi/bht/include/reqapi.h
create mode 100644 drivers/scsi/bht/include/tq.h
create mode 100644 drivers/scsi/bht/include/tqapi.h
create mode 100644 drivers/scsi/bht/include/transh.h
create mode 100644 drivers/scsi/bht/include/transhapi.h
create mode 100644 drivers/scsi/bht/include/util.h
create mode 100644 drivers/scsi/bht/linux_os/linux_api.c
create mode 100644 drivers/scsi/bht/linux_os/linux_api.h
create mode 100644 drivers/scsi/bht/linux_os/linux_base.c
create mode 100644 drivers/scsi/bht/linux_os/linux_scsi.c
create mode 100644 drivers/scsi/bht/linux_os/linux_scsi.h
create mode 100644 drivers/scsi/bht/main/autotimerfunc.c
create mode 100644 drivers/scsi/bht/main/cfgmng.c
create mode 100644 drivers/scsi/bht/main/funcapi.h
create mode 100644 drivers/scsi/bht/main/geniofunc.c
create mode 100644 drivers/scsi/bht/main/pmfunc.c
create mode 100644 drivers/scsi/bht/main/reqmng.c
create mode 100644 drivers/scsi/bht/main/testcase.c
create mode 100644 drivers/scsi/bht/main/thread.c
create mode 100644 drivers/scsi/bht/tagqueue/tagqueue.c
create mode 100644 drivers/scsi/bht/tagqueue/tq_merge.c
create mode 100644 drivers/scsi/bht/tagqueue/tq_trans_api.h
create mode 100644 drivers/scsi/bht/tagqueue/tq_util.h
create mode 100644 drivers/scsi/bht/tagqueue/tqadma2.c
create mode 100644 drivers/scsi/bht/tagqueue/tqadma3.c
create mode 100644 drivers/scsi/bht/tagqueue/tqadma_sdma_like.c
create mode 100644 drivers/scsi/bht/tagqueue/tqpolicy.c
create mode 100644 drivers/scsi/bht/tagqueue/tqsdma.c
create mode 100644 drivers/scsi/bht/util/debug.c
create mode 100644 drivers/scsi/bht/util/util.c


base-commit: 401644852d0b2a278811de38081be23f74b5bb04
--
2.34.1


2023-10-13 08:55:26

by Hannes Reinecke

[permalink] [raw]
Subject: Re: [PATCH 0/9] Add support for Bayhub SD/MMC controller

On 10/13/23 10:32, [email protected] wrote:
> From: Charl Liu <[email protected]>
>
> The Bayhub's SD/MMC Card interface driver implements card detection,
> card initialization, and other application level functions. The whole
> project is divided into 9 patches to commit. Patch [1/9] and patch
> [2/9] commit the Kconfig and Makefile, and the other code is divided
> into 7 patches (patch [3/9] to patch [9/9]) by function.
>
Errm.

We have a perfectly fine MMC subsystem under drivers/mmc.
And I would have expected any new SD/MMC card drivers to be
implemented there.

Why do you think a SCSI driver is the right model here?

Cheers,

Hannes

2023-10-14 10:36:46

by Hannes Reinecke

[permalink] [raw]
Subject: Re: [PATCH 0/9] Add support for Bayhub SD/MMC controller

On 10/13/23 14:23, 刘畅 wrote:
> Hi Hannes,
>
> We know that there is a SD/MMC card drivers under drivers/mmc,
> but we have the following more features to support.
>
> 1.We need to support the special functions customized by Bayhub.
> 2.We need to support SD UHSII cards and SD DDR200/225 cards.
>    The drivers under drivers/mmc do not support SD UHSII cards and
>    SD DDR200/225 cards at present.
>
But all of that is an extension to the existing drivers/mmc subsystem.
None of the above is SCSI related, so a SCSI driver is the wrong approach.

Please convert your driver to use drivers/mmc, not drivers/scsi.

Cheers,

Hannes
--
Dr. Hannes Reinecke Kernel Storage Architect
[email protected] +49 911 74053 688
SUSE Software Solutions GmbH, Maxfeldstr. 5, 90409 Nürnberg
HRB 36809 (AG Nürnberg), Geschäftsführer: Ivo Totev, Andrew
Myers, Andrew McDonald, Martje Boudien Moerman