On 4/20/23 4:40 AM, Jonathan Cameron wrote:
On Wed, 19 Apr 2023 13:21:37 -0700
Dave Jiang <dave.jiang@xxxxxxxxx> wrote:
Provide a callback to parse the Device Scoped Latency and Bandwidth
Information Structure (DSLBIS) in the CDAT structures. The DSLBIS
contains the bandwidth and latency information that's tied to a DSMAS
handle. The driver will retrieve the read and write latency and
bandwidth associated with the DSMAS which is tied to a DPA range.
Coherent Device Attribute Table 1.03 2.1 Device Scoped Latency and
Bandwidth Information Structure (DSLBIS)
Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx>
One comment inline.
+/* Flags for DSLBIS subtable */
+#define DSLBIS_MEM_MASK GENMASK(3, 0)
+#define DSLBIS_MEM_MEMORY 0
+
int devm_cxl_port_enumerate_dports(struct cxl_port *port);
struct cxl_dev_state;
int cxl_hdm_decode_init(struct cxl_dev_state *cxlds, struct cxl_hdm *cxlhdm,
@@ -136,5 +164,9 @@ cdat_table_parse(dsmas);
cdat_table_parse(dslbis);
cdat_table_parse(sslbis);
-int cxl_dsmas_parse_entry(struct cdat_entry_header *header, void *arg);
+#define cxl_parse_entry(x) \
+int cxl_##x##_parse_entry(struct cdat_entry_header *header, void *arg)
I'm not sure this is worthwhile. What was your reasoning for it?
Also wrecks typing that arg argument as I suggested earlier...
I can remove the macros. They are patterned after the code in ACPI.
+
+cxl_parse_entry(dsmas);
+cxl_parse_entry(dslbis);