From: "lihuisong (C)" <lihuisong@huawei.com>
To: Sudeep Holla <sudeep.holla@arm.com>
Cc: <linux-acpi@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
<rafael@kernel.org>, <rafael.j.wysocki@intel.com>,
<wanghuiqiang@huawei.com>, <zhangzekun11@huawei.com>,
<wangxiongfeng2@huawei.com>, <tanxiaofei@huawei.com>,
<guohanjun@huawei.com>, <xiexiuqi@huawei.com>,
<wangkefeng.wang@huawei.com>, <huangdaode@huawei.com>
Subject: Re: [PATCH V2 1/2] ACPI: PCC: add check for platform interrupt
Date: Sat, 12 Nov 2022 09:27:20 +0800 [thread overview]
Message-ID: <64303ec8-8f6b-df51-5257-25aeeb02e727@huawei.com> (raw)
In-Reply-To: <20221111142604.qrk7bf2qf6ibfln3@bogus>
在 2022/11/11 22:26, Sudeep Holla 写道:
> Change $subject to:
> "ACPI: PCC: Setup PCC Opregion handler only if platform interrupt is available"
>
> On Fri, Nov 11, 2022 at 10:44:47AM +0800, Huisong Li wrote:
>> Currently, PCC Operation Region driver senses the completion of command by
>> interrupt way. If platform can not generate an interrupt when a command
>> complete, the caller never gets the desired result. So let's reject the
>> setup of the PCC address space on platform that do not support interrupt
>> mode.
>>
> Please reword something like below:
>
> "Currently, PCC OpRegion handler depends on the availability of platform
> interrupt to be functional currently. If it is not available, the OpRegion
> can't be executed successfully or the desired outcome won't be possible.
> So let's reject setting up the PCC OpRegion handler on the platform if
> it doesn't support or have platform interrupt available"
>
>> Signed-off-by: Huisong Li <lihuisong@huawei.com>
>> ---
>> drivers/acpi/acpi_pcc.c | 47 +++++++++++++++++++++++++----------------
>> 1 file changed, 29 insertions(+), 18 deletions(-)
>>
>> diff --git a/drivers/acpi/acpi_pcc.c b/drivers/acpi/acpi_pcc.c
>> index 3e252be047b8..8efd08e469aa 100644
>> --- a/drivers/acpi/acpi_pcc.c
>> +++ b/drivers/acpi/acpi_pcc.c
>> @@ -53,6 +53,7 @@ acpi_pcc_address_space_setup(acpi_handle region_handle, u32 function,
>> struct pcc_data *data;
>> struct acpi_pcc_info *ctx = handler_context;
>> struct pcc_mbox_chan *pcc_chan;
>> + static acpi_status ret;
>>
>> data = kzalloc(sizeof(*data), GFP_KERNEL);
>> if (!data)
>> @@ -69,23 +70,35 @@ acpi_pcc_address_space_setup(acpi_handle region_handle, u32 function,
>> if (IS_ERR(data->pcc_chan)) {
>> pr_err("Failed to find PCC channel for subspace %d\n",
>> ctx->subspace_id);
>> - kfree(data);
>> - return AE_NOT_FOUND;
>> + ret = AE_NOT_FOUND;
>> + goto request_channel_fail;
> The labels are confusing IMO. I would do 's/request_channel_fail/err_free_data/'
> to indicate what is exactly done there rather than just describing what
> failed.
Good idea. Ack.
>
>> }
>>
>> pcc_chan = data->pcc_chan;
>> + if (!pcc_chan->mchan->mbox->txdone_irq) {
>> + pr_err("This channel-%d does not support interrupt.\n",
>> + ctx->subspace_id);
>> + ret = AE_SUPPORT;
>> + goto request_channel_fail;
> This is wrong, you must goto "ioremap_fail" as you have been successful in
> opening the channel and now need to free the same.
Sorry, I will fix it in v3.
>
>> + }
>> data->pcc_comm_addr = acpi_os_ioremap(pcc_chan->shmem_base_addr,
>> pcc_chan->shmem_size);
>> if (!data->pcc_comm_addr) {
>> pr_err("Failed to ioremap PCC comm region mem for %d\n",
>> ctx->subspace_id);
>> - pcc_mbox_free_channel(data->pcc_chan);
>> - kfree(data);
>> - return AE_NO_MEMORY;
>> + ret = AE_NO_MEMORY;
>> + goto ioremap_fail;
> Again I prefer 's/ioremap_fail/err_free_channel/' or something similar.
>
> With all the above comments incorporated, you can add:
> Reviewed-by: Sudeep Holla <sudeep.holla@arm.com>
>
next prev parent reply other threads:[~2022-11-12 1:27 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-10 1:50 [PATCH 0/3] ACPI: PCC: optimize pcc codes and fix one bug Huisong Li
2022-11-10 1:50 ` [PATCH 1/3] mailbox: pcc: rename platform interrupt bit macro name Huisong Li
2022-11-10 10:25 ` Sudeep Holla
2022-11-10 12:17 ` lihuisong (C)
2022-11-10 19:29 ` Rafael J. Wysocki
2022-11-11 1:10 ` lihuisong (C)
2022-11-10 1:50 ` [PATCH 2/3] ACPI: PCC: add check for platform interrupt Huisong Li
2022-11-10 10:36 ` Sudeep Holla
2022-11-10 12:08 ` lihuisong (C)
2022-11-10 1:50 ` [PATCH 3/3] mailbox: pcc: fix 'pcc_chan_count' when fail to initialize PCC Huisong Li
2022-11-10 10:44 ` Sudeep Holla
2022-11-10 12:10 ` lihuisong (C)
2022-11-11 2:44 ` [PATCH V2 0/2] optimize pcc code and fix one bug Huisong Li
2022-11-11 2:44 ` [PATCH V2 1/2] ACPI: PCC: add check for platform interrupt Huisong Li
2022-11-11 14:26 ` Sudeep Holla
2022-11-12 1:27 ` lihuisong (C) [this message]
2022-11-11 2:44 ` [PATCH V2 2/2] mailbox: pcc: fix 'pcc_chan_count' when fail to initialize PCC Huisong Li
2022-11-11 14:14 ` Sudeep Holla
2022-11-12 2:05 ` [PATCH V3 0/2] Optimize PCC OpRegion code and reset pcc_chan_count Huisong Li
2022-11-12 2:05 ` [PATCH V3 1/2] ACPI: PCC: Setup PCC Opregion handler only if platform interrupt is available Huisong Li
2022-11-12 2:05 ` [PATCH V3 2/2] mailbox: pcc: Reset pcc_chan_count to zero in case of PCC probe failure Huisong Li
2022-11-23 18:28 ` [PATCH V3 0/2] Optimize PCC OpRegion code and reset pcc_chan_count Rafael J. Wysocki
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=64303ec8-8f6b-df51-5257-25aeeb02e727@huawei.com \
--to=lihuisong@huawei.com \
--cc=guohanjun@huawei.com \
--cc=huangdaode@huawei.com \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=rafael.j.wysocki@intel.com \
--cc=rafael@kernel.org \
--cc=sudeep.holla@arm.com \
--cc=tanxiaofei@huawei.com \
--cc=wanghuiqiang@huawei.com \
--cc=wangkefeng.wang@huawei.com \
--cc=wangxiongfeng2@huawei.com \
--cc=xiexiuqi@huawei.com \
--cc=zhangzekun11@huawei.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