Commit 83351ddb authored by Dave Jiang's avatar Dave Jiang Committed by Dan Williams
Browse files

cxl: update names for interleave granularity conversion macros



Change names for granularity macros to clearly indicate which
variable is encoded and which is the actual granularity.

granularity == interleave granularity
eig == encoded interleave granularity

Reviewed-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
Reviewed-by: default avatarAlison Schofield <alison.schofield@intel.com>
Signed-off-by: default avatarDave Jiang <dave.jiang@intel.com>
Link: https://lore.kernel.org/r/167027493237.3124429.8948852388671827664.stgit@djiang5-desk3.ch.intel.com


Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
parent d3cdf458
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -86,7 +86,7 @@ static int cxl_parse_cxims(union acpi_subtable_headers *header, void *arg,
	unsigned int hbig, nr_maps;
	int rc;

	rc = cxl_to_granularity(cxims->hbig, &hbig);
	rc = eig_to_granularity(cxims->hbig, &hbig);
	if (rc)
		return rc;

@@ -224,7 +224,7 @@ static int cxl_parse_cfmws(union acpi_subtable_headers *header, void *arg,
	rc = cxl_to_ways(cfmws->interleave_ways, &ways);
	if (rc)
		return rc;
	rc = cxl_to_granularity(cfmws->granularity, &ig);
	rc = eig_to_granularity(cfmws->granularity, &ig);
	if (rc)
		return rc;
	for (i = 0; i < ways; i++)
+3 −3
Original line number Diff line number Diff line
@@ -497,7 +497,7 @@ static void cxld_set_interleave(struct cxl_decoder *cxld, u32 *ctrl)
	if (WARN_ONCE(ways_to_cxl(cxld->interleave_ways, &eiw),
		      "invalid interleave_ways: %d\n", cxld->interleave_ways))
		return;
	if (WARN_ONCE(granularity_to_cxl(cxld->interleave_granularity, &eig),
	if (WARN_ONCE(granularity_to_eig(cxld->interleave_granularity, &eig),
		      "invalid interleave_granularity: %d\n",
		      cxld->interleave_granularity))
		return;
@@ -749,7 +749,7 @@ static int init_hdm_decoder(struct cxl_port *port, struct cxl_decoder *cxld,
			 port->id, cxld->id, ctrl);
		return rc;
	}
	rc = cxl_to_granularity(FIELD_GET(CXL_HDM_DECODER0_CTRL_IG_MASK, ctrl),
	rc = eig_to_granularity(FIELD_GET(CXL_HDM_DECODER0_CTRL_IG_MASK, ctrl),
				 &cxld->interleave_granularity);
	if (rc)
		return rc;
+3 −3
Original line number Diff line number Diff line
@@ -391,7 +391,7 @@ static ssize_t interleave_granularity_store(struct device *dev,
	if (rc)
		return rc;

	rc = granularity_to_cxl(val, &ig);
	rc = granularity_to_eig(val, &ig);
	if (rc)
		return rc;

@@ -1028,7 +1028,7 @@ static int cxl_port_setup_targets(struct cxl_port *port,
		parent_iw = parent_cxld->interleave_ways;
	}

	rc = granularity_to_cxl(parent_ig, &peig);
	rc = granularity_to_eig(parent_ig, &peig);
	if (rc) {
		dev_dbg(&cxlr->dev, "%s:%s: invalid parent granularity: %d\n",
			dev_name(parent_port->uport),
@@ -1065,7 +1065,7 @@ static int cxl_port_setup_targets(struct cxl_port *port,
		eig = peig;
	}

	rc = cxl_to_granularity(eig, &ig);
	rc = eig_to_granularity(eig, &ig);
	if (rc) {
		dev_dbg(&cxlr->dev, "%s:%s: invalid interleave: %d\n",
			dev_name(port->uport), dev_name(&port->dev),
+7 −6
Original line number Diff line number Diff line
@@ -74,11 +74,11 @@ static inline int cxl_hdm_decoder_count(u32 cap_hdr)
}

/* Encode defined in CXL 2.0 8.2.5.12.7 HDM Decoder Control Register */
static inline int cxl_to_granularity(u16 ig, unsigned int *val)
static inline int eig_to_granularity(u16 eig, unsigned int *granularity)
{
	if (ig > CXL_DECODER_MAX_ENCODED_IG)
	if (eig > CXL_DECODER_MAX_ENCODED_IG)
		return -EINVAL;
	*val = CXL_DECODER_MIN_GRANULARITY << ig;
	*granularity = CXL_DECODER_MIN_GRANULARITY << eig;
	return 0;
}

@@ -99,11 +99,12 @@ static inline int cxl_to_ways(u8 eniw, unsigned int *val)
	return 0;
}

static inline int granularity_to_cxl(int g, u16 *ig)
static inline int granularity_to_eig(int granularity, u16 *eig)
{
	if (g > SZ_16K || g < CXL_DECODER_MIN_GRANULARITY || !is_power_of_2(g))
	if (granularity > SZ_16K || granularity < CXL_DECODER_MIN_GRANULARITY ||
	    !is_power_of_2(granularity))
		return -EINVAL;
	*ig = ilog2(g) - 8;
	*eig = ilog2(granularity) - 8;
	return 0;
}