All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sudeep Holla <sudeep.holla@arm.com>
To: "lihuisong (C)" <lihuisong@huawei.com>
Cc: robbiek@xsightlabs.com, 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 1/2] mailbox: pcc: Add processing platform notification for slave subspaces
Date: Fri, 3 Mar 2023 11:07:45 +0000	[thread overview]
Message-ID: <20230303110745.3c6kihwxkd2i7iwh@bogus> (raw)
In-Reply-To: <8691e22d-78a0-3a79-4999-3201767f163e@huawei.com>

On Fri, Mar 03, 2023 at 09:50:00AM +0800, lihuisong (C) wrote:
> 
> 在 2023/3/2 21:52, Sudeep Holla 写道:
> > On Thu, Mar 02, 2023 at 09:57:35AM +0800, lihuisong (C) wrote:
> > > 在 2023/3/1 21:24, Sudeep Holla 写道:
> > [...]
> > 
> > > > +static bool pcc_mbox_cmd_complete_check(struct pcc_chan_info *pchan)
> > > > +{
> > > > +       u64 val;
> > > > +       int ret;
> > > > +
> > > > +       ret = pcc_chan_reg_read(&pchan->cmd_complete, &val);
> > > > +       if (ret)
> > > > +               return false;
> > > > +
> > > we indeed already check if cmd_complete register is exist.
> > > IMO, it can simply the code logic and reduce the risk of problems if we
> > > return true here for the type without this register.
> > > what do you think?
> > > 
> > IIUC, your concern is about returning true for type 4 when the register
> > doesn't exist, right ?
> Return true in advance for the type without the cmd_complete register.
> If support the register, we judge if the channel should respond the
> interrupt based on the value of cmd_complete, like bellow.

Right, sorry for missing that.

> 
> -->8
> +static bool pcc_mbox_cmd_complete_check(struct pcc_chan_info *pchan)
> +{
> +       u64 val;
> +       int ret;
> +
> +       ret = pcc_chan_reg_read(&pchan->cmd_complete, &val);
> +       if (ret)
> +               return false;
> +
> +        if (!pchan->cmd_complete.gas)
> +                return true;
> +

Yes we need the above check.

> +       /*
> +         * Judge if the channel respond the interrupt based on the value of
> +         * command complete.
> +         */
> +       val &= pchan->cmd_complete.status_mask;
> +       /*
> +        * If this is PCC slave subspace channel, then the command complete
> +        * bit 0 indicates that Platform is sending a notification and OSPM
> +        * needs to respond this interrupt to process this command.
> +        */
> +       if (pchan->type == ACPI_PCCT_TYPE_EXT_PCC_SLAVE_SUBSPACE)
> +               return !val;
> +       else
> +               return !!val;
> +}
> > I am saying it won't happen as we bail out if there is no GAS register
> > from pcc_chan_reg_init(). Or am I missing something here ?
> Yes, what you say is also ok. Just wondering if it is better to simply the
> logic.

Understood now.

> > > > +       val &= pchan->cmd_complete.status_mask;
> > > > +
> > > > +       /*
> > > > +        * If this is PCC slave subspace channel, then the command complete
> > > > +        * bit 0 indicates that Platform is sending a notification and OSPM
> > > > +        * needs to respond this interrupt to process this command.
> > > > +        */
> > > > +       if (pchan->type == ACPI_PCCT_TYPE_EXT_PCC_SLAVE_SUBSPACE)
> > > > +               return !val;
> > > > +       else
> > > > +               return !!val;
> > > This else branch is not applicable to type 3. type 3 will cannot respond
> > > interrupt.
> > Sorry I don't understand what you mean by that.
> Sorry for my mistake.
> I meant that the type2 channel always return false in this function and
> never respond the interrupt if no check for the GAS register.
> Because the 'val' for the type without the register is zero.
> >

Agreed as mentioned above, we need to bail out with true return if no GAS is
found.

--
Regards,
Sudeep

  reply	other threads:[~2023-03-03 11:07 UTC|newest]

Thread overview: 89+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-16  3:40 [RFC] ACPI: PCC: Support shared interrupt for multiple subspaces Huisong Li
2022-10-26  6:10 ` lihuisong (C)
2022-10-27 11:10   ` Sudeep Holla
2022-10-27 12:48     ` lihuisong (C)
2022-10-27 15:53 ` Sudeep Holla
2022-10-28  7:55   ` lihuisong (C)
2022-10-31 10:40     ` Sudeep Holla
2022-11-01  2:49       ` lihuisong (C)
2022-11-04 15:04         ` Robbie King
2022-11-04 15:15           ` Sudeep Holla
2022-11-04 15:39             ` Robbie King
2022-11-07  6:24               ` lihuisong (C)
2022-11-17 18:09                 ` Robbie King
2022-11-19  7:32                   ` lihuisong (C)
2022-11-21 16:59                     ` Robbie King
2022-11-22  3:42                       ` lihuisong (C)
2022-11-22  3:30 ` [RFC V2] " Huisong Li
2022-11-22 13:46   ` Sudeep Holla
2022-11-23  3:36     ` lihuisong (C)
2022-12-03  9:51 ` [RFC-V3 0/2] mailbox: pcc: Support platform notification for type4 and shared interrupt Huisong Li
2022-12-03  9:51   ` [RFC-V3 1/2] mailbox: pcc: Add processing platform notification for slave subspaces Huisong Li
2023-02-06 15:39     ` Sudeep Holla
2023-02-07  2:27       ` lihuisong (C)
2023-02-13 21:18         ` Robbie King
2023-02-14  1:24           ` lihuisong (C)
2022-12-03  9:51   ` [RFC-V3 2/2] mailbox: pcc: Support shared interrupt for multiple subspaces Huisong Li
2022-12-14  2:57   ` [RFC-V3 0/2] mailbox: pcc: Support platform notification for type4 and shared interrupt lihuisong (C)
2022-12-30  1:07     ` lihuisong (C)
2023-01-04 11:06     ` Sudeep Holla
2023-01-05  1:14       ` lihuisong (C)
2023-01-28  1:49         ` lihuisong (C)
2023-02-16  6:36 ` [PATCH " Huisong Li
2023-02-16  6:36   ` [PATCH 1/2] mailbox: pcc: Add processing platform notification for slave subspaces Huisong Li
2023-03-01 13:24     ` Sudeep Holla
2023-03-02  1:57       ` lihuisong (C)
2023-03-02 13:52         ` Sudeep Holla
2023-03-03  1:50           ` lihuisong (C)
2023-03-03 11:07             ` Sudeep Holla [this message]
2023-03-04  9:49               ` lihuisong (C)
2023-02-16  6:36   ` [PATCH 2/2] mailbox: pcc: Support shared interrupt for multiple subspaces Huisong Li
2023-03-01 13:36     ` Sudeep Holla
2023-03-02  2:17       ` lihuisong (C)
2023-03-02 14:02         ` Sudeep Holla
     [not found]           ` <020cc964-9938-7ebe-7514-125cd041bfcb@huawei.com>
2023-03-03 11:14             ` Sudeep Holla
2023-03-04  9:47               ` lihuisong (C)
2023-03-10 20:14                 ` Sudeep Holla
2023-03-14  1:05                   ` lihuisong (C)
2023-02-27 13:09   ` [PATCH 0/2] mailbox: pcc: Support platform notification for type4 and shared interrupt lihuisong (C)
2023-03-14 11:11 ` [PATCH v2 " Huisong Li
2023-03-14 11:11   ` [PATCH v2 1/2] mailbox: pcc: Add support for platform notification handling Huisong Li
2023-03-27 11:30     ` Sudeep Holla
2023-03-27 12:25       ` lihuisong (C)
2023-03-27 13:27         ` Sudeep Holla
2023-03-14 11:11   ` [PATCH v2 2/2] mailbox: pcc: Support shared interrupt for multiple subspaces Huisong Li
2023-03-24  2:30   ` [PATCH v2 0/2] mailbox: pcc: Support platform notification for type4 and shared interrupt lihuisong (C)
2023-03-27 11:33   ` Sudeep Holla
2023-03-27 12:31     ` lihuisong (C)
2023-04-10  1:26       ` lihuisong (C)
2023-04-11 14:47         ` Robbie King
2023-04-14  1:05           ` lihuisong (C)
2023-04-14 13:48             ` Robbie King
2023-04-18  2:21               ` lihuisong (C)
2023-04-21 10:55                 ` Sudeep Holla
2023-04-23  3:58                   ` lihuisong (C)
2023-04-25 13:22                   ` lihuisong (C)
2023-04-23 11:03 ` [PATCH v3 " Huisong Li
2023-04-23 11:03   ` [PATCH v3 1/2] mailbox: pcc: Add support for platform notification handling Huisong Li
2023-04-23 11:03   ` [PATCH v3 2/2] mailbox: pcc: Support shared interrupt for multiple subspaces Huisong Li
2023-04-25 14:41   ` [PATCH v3 0/2] mailbox: pcc: Support platform notification for type4 and shared interrupt Sudeep Holla
2023-05-25 12:25     ` lihuisong (C)
2023-05-04  1:30   ` lihuisong (C)
2023-05-09  9:06   ` Sudeep Holla
2023-06-13 12:57 ` [PATCH v4 " Huisong Li
2023-06-13 12:57   ` [PATCH v4 1/2] mailbox: pcc: Add support for platform notification handling Huisong Li
2023-06-13 12:57   ` [PATCH v4 2/2] mailbox: pcc: Support shared interrupt for multiple subspaces Huisong Li
2023-06-14 15:58   ` [PATCH v4 0/2] mailbox: pcc: Support platform notification for type4 and shared interrupt Sudeep Holla
2023-07-14  6:39     ` lihuisong (C)
2023-07-21 12:31       ` lihuisong (C)
2023-06-15  1:58   ` Hanjun Guo
2023-08-01  6:38 ` [PATCH RESEND " Huisong Li
2023-08-01  6:38   ` [PATCH RESEND v4 1/2] mailbox: pcc: Add support for platform notification handling Huisong Li
2023-08-01  6:38   ` [PATCH RESEND v4 2/2] mailbox: pcc: Support shared interrupt for multiple subspaces Huisong Li
2023-08-01  9:38   ` [PATCH RESEND v4 0/2] mailbox: pcc: Support platform notification for type4 and shared interrupt Sudeep Holla
2023-08-09 11:44     ` lihuisong (C)
2023-08-17  6:50       ` lihuisong (C)
2023-08-26  2:40         ` lihuisong (C)
     [not found]           ` <AS8P193MB233566815E722D9B3B13B5EECAE2A@AS8P193MB2335.EURP193.PROD.OUTLOOK.COM>
2023-08-28  1:03             ` lihuisong (C)
2023-08-29  9:55     ` Sudeep Holla
2023-09-21 13:52   ` Sudeep Holla

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=20230303110745.3c6kihwxkd2i7iwh@bogus \
    --to=sudeep.holla@arm.com \
    --cc=guohanjun@huawei.com \
    --cc=huangdaode@huawei.com \
    --cc=lihuisong@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=robbiek@xsightlabs.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.