[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <93afcf6810308580a299905da2b8dad0@codeaurora.org>
Date: Wed, 29 Apr 2020 23:45:27 -0700
From: rananta@...eaurora.org
To: Manivannan Sadhasivam <manivannan.sadhasivam@...aro.org>
Cc: agross@...nel.org, bjorn.andersson@...aro.org, robh+dt@...nel.org,
jassisinghbrar@...il.com, linux-arm-msm@...r.kernel.org,
linux-kernel@...r.kernel.org,
Venkata Narendra Kumar Gutta <vnkgutta@...eaurora.org>
Subject: Re: [PATCH 2/2] soc: qcom: ipcc: Add support for IPCC controller
On 2020-04-29 23:30, Manivannan Sadhasivam wrote:
> +static int qcom_ipcc_probe(struct platform_device *pdev)
> +{
> + struct qcom_ipcc_proto_data *proto_data;
> + int ret;
> +
> + proto_data = devm_kzalloc(&pdev->dev, sizeof(*proto_data),
> GFP_KERNEL);
> + if (!proto_data)
> + return -ENOMEM;
> +
> + ipcc_proto_data = proto_data;
> + proto_data->dev = &pdev->dev;
> +
> + proto_data->base = devm_platform_ioremap_resource(pdev, 0);
> + if (IS_ERR(proto_data->base)) {
> + dev_err(&pdev->dev, "Failed to ioremap the ipcc base addr\n");
> + return PTR_ERR(proto_data->base);
> + }
> +
> + proto_data->irq = platform_get_irq(pdev, 0);
> + if (proto_data->irq < 0) {
> + dev_err(&pdev->dev, "Failed to get the IRQ\n");
> + return proto_data->irq;
> + }
> +
> + /* Perform a SW reset on this client's protocol state */
> + writel(0x1, proto_data->base + IPCC_REG_CLIENT_CLEAR);
We can skip doing a SW reset here. Few of the subsystems may be brought
out of reset via the bootloader and the interrupts from them might be
pending. Doing a SW reset here would clear those interrupts.
Thank you.
Raghavendra
Powered by blists - more mailing lists