Skip to content
Commit 5d86b343 authored by Alison Schofield's avatar Alison Schofield Committed by Greg Kroah-Hartman
Browse files

cxl/region: Prepare the decoder match range helper for reuse



[ Upstream commit 11105814 ]

match_decoder_by_range() and decoder_match_range() both determine
if an HPA range matches a decoder. The first does it for root
decoders and the second one operates on switch decoders.

Tidy these up with clear naming and make the switch helper more
like the root decoder helper in style and functionality. Make it
take the actual range, rather than an endpoint decoder from which
it extracts the range. Require an exact match on switch decoders,
because unlike a root decoder that maps an entire region, Linux
only supports 1:1 mapping of switch to endpoint decoders. Note that
root-decoders are a super-set of switch-decoders and the range they
cover is a super-set of a region, hence the use of range_contains() for
that case.

Aside from aesthetics and maintainability, this is in preparation
for reuse.

Signed-off-by: default avatarAlison Schofield <alison.schofield@intel.com>
Reviewed-by: default avatarDave Jiang <dave.jiang@intel.com>
Reviewed-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
Reviewed-by: default avatarJim Harris <jim.harris@samsung.com>
Link: https://lore.kernel.org/r/011b1f498e1758bb8df17c5951be00bd8d489e3b.1698263080.git.alison.schofield@intel.com


[djbw: fixup root decoder vs switch decoder range checks]
Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
Stable-dep-of: 0cf36a85 ("cxl/region: Use cxl_calc_interleave_pos() for auto-discovery")
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
parent c2723a64
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment