On Thu, Mar 02, 2023 at 09:57:35AM +0800, lihuisong (C) wrote:Return true in advance for the type without the cmd_complete register.
在 2023/3/1 21:24, Sudeep Holla 写道:[...]
IIUC, your concern is about returning true for type 4 when the register+static bool pcc_mbox_cmd_complete_check(struct pcc_chan_info *pchan)we indeed already check if cmd_complete register is exist.
+{
+ u64 val;
+ int ret;
+
+ ret = pcc_chan_reg_read(&pchan->cmd_complete, &val);
+ if (ret)
+ return false;
+
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?
doesn't exist, right ?
I am saying it won't happen as we bail out if there is no GAS registerYes, what you say is also ok. Just wondering if it is better to simply the logic.
from pcc_chan_reg_init(). Or am I missing something here ?
Sorry for my mistake.Sorry I don't understand what you mean by that.+ val &= pchan->cmd_complete.status_mask;This else branch is not applicable to type 3. type 3 will cannot respond
+
+ /*
+ * 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;
interrupt.