linux-gpio.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Andrew Jeffery <andrew@codeconstruct.com.au>
To: Billy Tsai <billy_tsai@aspeedtech.com>,
	linus.walleij@linaro.org,  brgl@bgdev.pl, robh@kernel.org,
	krzk+dt@kernel.org, conor+dt@kernel.org,  joel@jms.id.au,
	linux-gpio@vger.kernel.org, devicetree@vger.kernel.org,
	 linux-arm-kernel@lists.infradead.org,
	linux-aspeed@lists.ozlabs.org,  linux-kernel@vger.kernel.org,
	BMC-SW@aspeedtech.com, Peter.Yin@quantatw.com
Subject: Re: [PATCH v3 3/6] gpio: aspeed: Create llops to handle hardware access
Date: Mon, 16 Sep 2024 12:30:07 +0930	[thread overview]
Message-ID: <2be44ea18d15f1ecda22d867396671802be14ebf.camel@codeconstruct.com.au> (raw)
In-Reply-To: <20240913074325.239390-4-billy_tsai@aspeedtech.com>

On Fri, 2024-09-13 at 15:43 +0800, Billy Tsai wrote:
> 
> @@ -1218,15 +1206,17 @@ static int __init aspeed_gpio_probe(struct platform_device *pdev)
>  	 * Populate it with initial values read from the HW and switch
>  	 * all command sources to the ARM by default
>  	 */
> -	for (i = 0; i < banks; i++) {
> -		const struct aspeed_gpio_bank *bank = &aspeed_gpio_banks[i];
> -		void __iomem *addr = bank_reg(gpio, bank, reg_rdata);
> -		gpio->dcache[i] = ioread32(addr);
> -		aspeed_gpio_change_cmd_source(gpio, bank, 0, GPIO_CMDSRC_ARM);
> -		aspeed_gpio_change_cmd_source(gpio, bank, 1, GPIO_CMDSRC_ARM);
> -		aspeed_gpio_change_cmd_source(gpio, bank, 2, GPIO_CMDSRC_ARM);
> -		aspeed_gpio_change_cmd_source(gpio, bank, 3, GPIO_CMDSRC_ARM);
> -	}
> +	if (gpio->config->cmd_source_supoort)

This test only reflects the level of effort put into supporting the
AST2700 GPIO controllers so far, it doesn't reflect the actual
capability of the hardware...

> +		for (i = 0; i < banks; i++) {
> +			const struct aspeed_gpio_bank *bank = &aspeed_gpio_banks[i];
> +			void __iomem *addr = bank_reg(gpio, bank, reg_rdata);

... and I don' think this is correct if/when the command source support
is implemented for the AST2700. Can you please add a comment about the
bank/address calculation, and change the condition above to account for
this implementation being specific to SoCs earlier than the AST2700?

Andrew

> +
> +			gpio->dcache[i] = ioread32(addr);
> +			aspeed_gpio_change_cmd_source(gpio, i * 8 + 0, GPIO_CMDSRC_ARM);
> +			aspeed_gpio_change_cmd_source(gpio, i * 8 + 8, GPIO_CMDSRC_ARM);
> +			aspeed_gpio_change_cmd_source(gpio, i * 8 + 16, GPIO_CMDSRC_ARM);
> +			aspeed_gpio_change_cmd_source(gpio, i * 8 + 24, GPIO_CMDSRC_ARM);
> +		}
>  
>  	/* Set up an irqchip */
>  	irq = platform_get_irq(pdev, 0);


  parent reply	other threads:[~2024-09-16  3:00 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-09-13  7:43 [PATCH v3 0/6] Add Aspeed G7 gpio support Billy Tsai
2024-09-13  7:43 ` [PATCH v3 1/6] dt-bindings: gpio: aspeed,ast2400-gpio: Support ast2700 Billy Tsai
2024-09-13 18:22   ` Conor Dooley
2024-09-13  7:43 ` [PATCH v3 2/6] gpio: aspeed: Remove the name for bank array Billy Tsai
2024-09-16  1:51   ` Andrew Jeffery
2024-09-13  7:43 ` [PATCH v3 3/6] gpio: aspeed: Create llops to handle hardware access Billy Tsai
2024-09-16  2:43   ` Andrew Jeffery
2024-09-16  3:00   ` Andrew Jeffery [this message]
2024-09-19  6:12     ` Billy Tsai
2024-09-13  7:43 ` [PATCH v3 4/6] gpio: aspeed: Support G7 Aspeed gpio controller Billy Tsai
2024-09-13  7:43 ` [PATCH v3 5/6] gpio: aspeed: Change the macro to support deferred probe Billy Tsai
2024-09-14  8:44   ` kernel test robot
2024-09-14 15:33   ` kernel test robot
2024-09-13  7:43 ` [PATCH v3 6/6] gpio: aspeed: Add the flush write to ensure the write complete Billy Tsai
2024-09-16  3:03   ` Andrew Jeffery
2024-09-19  6:07     ` Billy Tsai

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=2be44ea18d15f1ecda22d867396671802be14ebf.camel@codeconstruct.com.au \
    --to=andrew@codeconstruct.com.au \
    --cc=BMC-SW@aspeedtech.com \
    --cc=Peter.Yin@quantatw.com \
    --cc=billy_tsai@aspeedtech.com \
    --cc=brgl@bgdev.pl \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=joel@jms.id.au \
    --cc=krzk+dt@kernel.org \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-aspeed@lists.ozlabs.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=robh@kernel.org \
    /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;
as well as URLs for NNTP newsgroup(s).