Re: [PATCH v6 1/2] mctp pcc: Check before sending MCTP PCC response ACK
From: Adam Young
Date: Thu Oct 31 2024 - 20:17:16 EST
On 10/30/24 05:45, lihuisong (C) wrote:
+ check_and_ack(pchan, chan);
pchan->chan_in_use = false;
return IRQ_HANDLED;
@@ -352,6 +368,9 @@ pcc_mbox_request_channel(struct mbox_client *cl,
int subspace_id)
if (rc)
return ERR_PTR(rc);
+ pchan->shmem_base_addr = devm_ioremap(chan->mbox->dev,
+ pchan->chan.shmem_base_addr,
+ pchan->chan.shmem_size);
Currently, the PCC mbox client does ioremap after requesting PCC channel.
Thus all current clients will ioremap twice. This is not good to me.
How about add a new interface and give the type4 client the right to
decide whether to reply in rx_callback?
I do agree that is a cleaner implementation, but I don't have a way of
testing the other drivers, and did not want to break them. I think your
driver is the only that makes use of it, so we can certainly come up
with a common approach.
The mailbox interface does not allow a return code from
mbox_chan_received_data, which is what I originally wanted. If that
could return multiple status codes, one of them could indicate the need
to send the interrupt back. Otherwise, we need to query the driver to
read the shared memory again.