From: Denis Orlov <denorl2009@gmail.com> To: barebox@lists.infradead.org Cc: Denis Orlov <denorl2009@gmail.com> Subject: [PATCH 07/16] ata: ahci: correct named constants values and names Date: Wed, 4 May 2022 12:25:44 +0300 [thread overview] Message-ID: <20220504092553.27961-7-denorl2009@gmail.com> (raw) In-Reply-To: <20220504092553.27961-1-denorl2009@gmail.com> This gives more clear names to some of the macros that designate the sizes of various memory structures and fixes a mistake in one of them. The command table item was regarded as taking 32 bytes in size while it is actually supposed to only take 16 bytes according to the spec. This also changes a somewhat misleading comment that calls the command list a command table. There is a cmt_tbl field that actually holds a pointer to a different structure that is called a command table in the specification, so it seems better to more clearly disambiguate them. Signed-off-by: Denis Orlov <denorl2009@gmail.com> --- drivers/ata/ahci.c | 6 +++--- drivers/ata/ahci.h | 10 ++++++---- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c index c02f499ac1..f7eb35c09d 100644 --- a/drivers/ata/ahci.c +++ b/drivers/ata/ahci.c @@ -288,10 +288,10 @@ static int ahci_init_port(struct ahci_port *ahci_port) } /* - * First item in chunk of DMA memory: 32-slot command table, + * First item in chunk of DMA memory: 32-slot command list, * 32 bytes each in size */ - ahci_port->cmd_slot = dma_alloc_coherent(AHCI_CMD_SLOT_SZ * 32, + ahci_port->cmd_slot = dma_alloc_coherent(AHCI_CMD_LIST_SZ, &ahci_port->cmd_slot_dma); if (!ahci_port->cmd_slot) { ret = -ENOMEM; @@ -419,7 +419,7 @@ err_alloc2: AHCI_RX_FIS_SZ); err_alloc1: dma_free_coherent(ahci_port->cmd_slot, ahci_port->cmd_slot_dma, - AHCI_CMD_SLOT_SZ * 32); + AHCI_CMD_LIST_SZ); err_alloc: return ret; } diff --git a/drivers/ata/ahci.h b/drivers/ata/ahci.h index 3ca64c3d70..99c45f30fc 100644 --- a/drivers/ata/ahci.h +++ b/drivers/ata/ahci.h @@ -10,13 +10,15 @@ #define AHCI_PCI_BAR 0x24 #define AHCI_MAX_SG 56 /* hardware max is 64K */ #define AHCI_CMD_SLOT_SZ 32 -#define AHCI_MAX_CMD_SLOT 32 +#define AHCI_MAX_CMDS 32 +#define AHCI_CMD_LIST_SZ (AHCI_CMD_SLOT_SZ * AHCI_MAX_CMDS) #define AHCI_RX_FIS_SZ 256 #define AHCI_CMD_TBL_HDR_SZ 0x80 #define AHCI_CMD_TBL_CDB 0x40 -#define AHCI_CMD_TBL_SZ AHCI_CMD_TBL_HDR_SZ + (AHCI_MAX_SG * 32) -#define AHCI_PORT_PRIV_DMA_SZ (AHCI_CMD_SLOT_SZ * AHCI_MAX_CMD_SLOT + \ - AHCI_CMD_TBL_SZ + AHCI_RX_FIS_SZ) +#define AHCI_CMD_TBL_ITM_SZ 16 +#define AHCI_CMD_TBL_SZ (AHCI_CMD_TBL_HDR_SZ + (AHCI_MAX_SG * AHCI_CMD_TBL_ITM_SZ)) +#define AHCI_PORT_PRIV_DMA_SZ (AHCI_CMD_LIST_SZ + AHCI_CMD_TBL_SZ + AHCI_RX_FIS_SZ) + #define AHCI_CMD_ATAPI (1 << 5) #define AHCI_CMD_WRITE (1 << 6) #define AHCI_CMD_PREFETCH (1 << 7) -- 2.20.1 _______________________________________________ barebox mailing list barebox@lists.infradead.org http://lists.infradead.org/mailman/listinfo/barebox
next prev parent reply other threads:[~2022-05-04 9:42 UTC|newest] Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top 2022-05-04 9:25 [PATCH 01/16] ata: ahci: use abstract read/write functions uniformly Denis Orlov 2022-05-04 9:25 ` [PATCH 02/16] ata: ahci: replace magic numbers with named constants Denis Orlov 2022-05-04 9:25 ` [PATCH 03/16] ata: ahci: fix missing whitespace in ahci_add_host() Denis Orlov 2022-05-04 9:25 ` [PATCH 04/16] ata: ahci: simplify fis structure creation Denis Orlov 2022-05-04 9:25 ` [PATCH 05/16] ata: ahci: do not ignore dma handles Denis Orlov 2022-05-04 9:25 ` [PATCH 06/16] ata: ahci: adjust debug messages in ahci_init_port() Denis Orlov 2022-05-04 9:25 ` Denis Orlov [this message] 2022-05-04 9:25 ` [PATCH 08/16] ata: ahci: properly fill scatter/gather table Denis Orlov 2022-05-04 9:25 ` [PATCH 09/16] ata: ahci: use named constants for capabilities bits Denis Orlov 2022-05-04 9:25 ` [PATCH 10/16] ata: ahci: map buffers properly Denis Orlov 2022-05-04 9:25 ` [PATCH 11/16] ata: ahci: use 64-bit addressing if available Denis Orlov 2022-05-04 9:25 ` [PATCH 12/16] ata: ahci: make rx_fis field in ahci_port of type void* Denis Orlov 2022-05-04 9:25 ` [PATCH 13/16] ata: ahci: add missing capability in ahci_print_info() Denis Orlov 2022-05-04 9:25 ` [PATCH 14/16] ata: ahci: remove redundant cast in ahci_io() Denis Orlov 2022-05-04 9:25 ` [PATCH 15/16] ata: ahci: register only implemented ports Denis Orlov 2022-05-04 9:25 ` [PATCH 16/16] ata: ahci: allocate memory in one call in ahci_init_port() Denis Orlov 2022-05-05 7:48 ` [PATCH 01/16] ata: ahci: use abstract read/write functions uniformly Sascha Hauer
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-all 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=20220504092553.27961-7-denorl2009@gmail.com \ --to=denorl2009@gmail.com \ --cc=barebox@lists.infradead.org \ --subject='Re: [PATCH 07/16] ata: ahci: correct named constants values and names' \ /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
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox