aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/drivers/cxl/pmem.c
diff options
context:
space:
mode:
authorDave Jiang <dave.jiang@intel.com>2024-09-05 15:35:46 -0700
committerDave Jiang <dave.jiang@intel.com>2024-09-12 08:38:01 -0700
commit8d8081cecfb9940beeb4a8a700db34e615a96056 (patch)
tree5ec4230778a9d3d11335178a8eb43387719d77dd /drivers/cxl/pmem.c
parentcxl: move cxl headers to new include/cxl/ directory (diff)
downloadwireguard-linux-8d8081cecfb9940beeb4a8a700db34e615a96056.tar.xz
wireguard-linux-8d8081cecfb9940beeb4a8a700db34e615a96056.zip
cxl: Move mailbox related bits to the same context
Create a new 'struct cxl_mailbox' and move all mailbox related bits to it. This allows isolation of all CXL mailbox data in order to export some of the calls to external kernel callers and avoid exporting of CXL driver specific bits such has device states. The allocation of 'struct cxl_mailbox' is also split out with cxl_mailbox_init() so the mailbox can be created independently. Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Reviewed-by: Alejandro Lucero <alucerop@amd.com> Reviewed-by: Fan Ni <fan.ni@samsung.com> Reviewed-by: Alison Schofield <alison.schofield@intel.com> Reviewed-by: Ira Weiny <ira.weiny@intel.com> Link: https://patch.msgid.link/20240905223711.1990186-3-dave.jiang@intel.com Signed-off-by: Dave Jiang <dave.jiang@intel.com>
Diffstat (limited to 'drivers/cxl/pmem.c')
-rw-r--r--drivers/cxl/pmem.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/cxl/pmem.c b/drivers/cxl/pmem.c
index 647c7e25ef3a..50c6d25ede89 100644
--- a/drivers/cxl/pmem.c
+++ b/drivers/cxl/pmem.c
@@ -102,13 +102,15 @@ static int cxl_pmem_get_config_size(struct cxl_memdev_state *mds,
struct nd_cmd_get_config_size *cmd,
unsigned int buf_len)
{
+ struct cxl_mailbox *cxl_mbox = &mds->cxlds.cxl_mbox;
+
if (sizeof(*cmd) > buf_len)
return -EINVAL;
*cmd = (struct nd_cmd_get_config_size){
.config_size = mds->lsa_size,
.max_xfer =
- mds->payload_size - sizeof(struct cxl_mbox_set_lsa),
+ cxl_mbox->payload_size - sizeof(struct cxl_mbox_set_lsa),
};
return 0;