From: Borislav Petkov <bp@alien8.de>
To: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Cc: andersson@kernel.org, robh+dt@kernel.org,
krzysztof.kozlowski+dt@linaro.org, tony.luck@intel.com,
quic_saipraka@quicinc.com, konrad.dybcio@linaro.org,
linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org,
james.morse@arm.com, mchehab@kernel.org, rric@kernel.org,
linux-edac@vger.kernel.org, quic_ppareek@quicinc.com,
luca.weiss@fairphone.com, ahalaney@redhat.com, steev@kali.org
Subject: Re: [PATCH v5 16/17] qcom: llcc/edac: Support polling mode for ECC handling
Date: Sat, 14 Jan 2023 14:36:16 +0100 [thread overview]
Message-ID: <Y8Kv0GIk69MhcOjT@zn.tnic> (raw)
In-Reply-To: <20221228084028.46528-17-manivannan.sadhasivam@linaro.org>
On Wed, Dec 28, 2022 at 02:10:27PM +0530, Manivannan Sadhasivam wrote:
> static int qcom_llcc_edac_probe(struct platform_device *pdev)
> {
> struct llcc_drv_data *llcc_driv_data = pdev->dev.platform_data;
> @@ -355,22 +361,31 @@ static int qcom_llcc_edac_probe(struct platform_device *pdev)
> edev_ctl->ctl_name = "llcc";
> edev_ctl->panic_on_ue = LLCC_ERP_PANIC_ON_UE;
>
> + /* Check if LLCC driver has passed ECC IRQ */
> + ecc_irq = llcc_driv_data->ecc_irq;
> + if (ecc_irq > 0) {
> + /* Use interrupt mode if IRQ is available */
> + edac_op_state = EDAC_OPSTATE_INT;
> + } else {
> + /* Fall back to polling mode otherwise */
> + edac_op_state = EDAC_OPSTATE_POLL;
> + edev_ctl->poll_msec = ECC_POLL_MSEC;
> + edev_ctl->edac_check = llcc_ecc_check;
> + }
> +
> rc = edac_device_add_device(edev_ctl);
> if (rc)
> goto out_mem;
>
> platform_set_drvdata(pdev, edev_ctl);
>
> - /* Request for ecc irq */
> - ecc_irq = llcc_driv_data->ecc_irq;
> - if (ecc_irq < 0) {
> - rc = -ENODEV;
> - goto out_dev;
> - }
> - rc = devm_request_irq(dev, ecc_irq, llcc_ecc_irq_handler,
> + /* Request ECC IRQ if available */
> + if (ecc_irq > 0) {
> + rc = devm_request_irq(dev, ecc_irq, llcc_ecc_irq_handler,
> IRQF_TRIGGER_HIGH, "llcc_ecc", edev_ctl);
You need to request the IRQ first and then set edac_op_state above. I.e., this
devm_request_irq() needs to move in the if (ecc_irq > 0) branch above.
--
Regards/Gruss,
Boris.
https://people.kernel.org/tglx/notes-about-netiquette
next prev parent reply other threads:[~2023-01-14 13:36 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-12-28 8:40 [PATCH v5 00/17] Qcom: LLCC/EDAC: Fix base address used for LLCC banks Manivannan Sadhasivam
2022-12-28 8:40 ` [PATCH v5 01/17] EDAC/device: Make use of poll_msec value in edac_device_ctl_info struct Manivannan Sadhasivam
2022-12-28 11:17 ` Borislav Petkov
2022-12-28 8:40 ` [PATCH v5 02/17] EDAC/qcom: Add platform_device_id table for module autoloading Manivannan Sadhasivam
2022-12-28 11:54 ` Borislav Petkov
2022-12-28 8:40 ` [PATCH v5 03/17] EDAC/qcom: Do not pass llcc_driv_data as edac_device_ctl_info's pvt_info Manivannan Sadhasivam
2022-12-28 11:58 ` Borislav Petkov
2022-12-28 8:40 ` [PATCH v5 04/17] dt-bindings: arm: msm: Update the maintainers for LLCC Manivannan Sadhasivam
2022-12-28 8:40 ` [PATCH v5 05/17] dt-bindings: arm: msm: Fix register regions used for LLCC banks Manivannan Sadhasivam
2022-12-28 8:40 ` [PATCH v5 06/17] arm64: dts: qcom: sdm845: Fix the base addresses of " Manivannan Sadhasivam
2022-12-28 8:40 ` [PATCH v5 07/17] arm64: dts: qcom: sc7180: " Manivannan Sadhasivam
2022-12-28 8:40 ` [PATCH v5 08/17] arm64: dts: qcom: sc7280: " Manivannan Sadhasivam
2022-12-28 8:40 ` [PATCH v5 09/17] arm64: dts: qcom: sc8280xp: " Manivannan Sadhasivam
2022-12-28 8:40 ` [PATCH v5 10/17] arm64: dts: qcom: sm8150: " Manivannan Sadhasivam
2022-12-28 8:40 ` [PATCH v5 11/17] arm64: dts: qcom: sm8250: " Manivannan Sadhasivam
2022-12-28 8:40 ` [PATCH v5 12/17] arm64: dts: qcom: sm8350: " Manivannan Sadhasivam
2022-12-28 8:40 ` [PATCH v5 13/17] arm64: dts: qcom: sm8450: " Manivannan Sadhasivam
2022-12-28 8:40 ` [PATCH v5 14/17] arm64: dts: qcom: sm6350: " Manivannan Sadhasivam
2022-12-28 8:40 ` [PATCH v5 15/17] qcom: llcc/edac: Fix the base address used for accessing " Manivannan Sadhasivam
2023-01-14 13:27 ` Borislav Petkov
2023-01-15 4:01 ` Manivannan Sadhasivam
2022-12-28 8:40 ` [PATCH v5 16/17] qcom: llcc/edac: Support polling mode for ECC handling Manivannan Sadhasivam
2023-01-14 13:36 ` Borislav Petkov [this message]
2023-01-15 4:08 ` Manivannan Sadhasivam
2023-01-16 10:41 ` Borislav Petkov
2023-01-18 15:08 ` Manivannan Sadhasivam
2022-12-28 8:40 ` [PATCH v5 17/17] soc: qcom: llcc: Do not create EDAC platform device on SDM845 Manivannan Sadhasivam
2022-12-28 10:36 ` [PATCH v5 00/17] Qcom: LLCC/EDAC: Fix base address used for LLCC banks Borislav Petkov
2022-12-28 16:47 ` Manivannan Sadhasivam
2022-12-28 17:55 ` Borislav Petkov
2023-01-02 17:30 ` Manivannan Sadhasivam
2023-01-14 7:12 ` Manivannan Sadhasivam
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=Y8Kv0GIk69MhcOjT@zn.tnic \
--to=bp@alien8.de \
--cc=ahalaney@redhat.com \
--cc=andersson@kernel.org \
--cc=james.morse@arm.com \
--cc=konrad.dybcio@linaro.org \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-edac@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=luca.weiss@fairphone.com \
--cc=manivannan.sadhasivam@linaro.org \
--cc=mchehab@kernel.org \
--cc=quic_ppareek@quicinc.com \
--cc=quic_saipraka@quicinc.com \
--cc=robh+dt@kernel.org \
--cc=rric@kernel.org \
--cc=steev@kali.org \
--cc=tony.luck@intel.com \
/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