diff mbox series

cxl/region: Continue recalculating position during sort

Message ID Z-_8kRHep5LVeuvS@gourry-fedora-PF4VCD3F
State New
Headers show
Series cxl/region: Continue recalculating position during sort | expand

Commit Message

Gregory Price April 4, 2025, 3:36 p.m. UTC
The auto decoder probe proess overwrites the endpoint position
temporarily to record its temporary location in the region target list.
This patch restores the pos recalculation during the sort target process
so that decoder probe order doesn't affect region probe.

Signed-off-by: Gregory Price <gourry@gourry.net>
---
 drivers/cxl/core/region.c | 1 +
 1 file changed, 1 insertion(+)

--
2.47.1

Comments

Gregory Price April 4, 2025, 5:22 p.m. UTC | #1
On Fri, Apr 04, 2025 at 10:36:49AM -0500, Gregory Price wrote:
> The auto decoder probe proess overwrites the endpoint position
> temporarily to record its temporary location in the region target list.
> This patch restores the pos recalculation during the sort target process
> so that decoder probe order doesn't affect region probe.
> 
> Signed-off-by: Gregory Price <gourry@gourry.net>

Disregard this patch, it appears to break is subtly different ways now -
sigh :[.

~Gregory
diff mbox series

Patch

diff --git a/drivers/cxl/core/region.c b/drivers/cxl/core/region.c
index e1ef0d577b35..8c79c0a39d56 100644
--- a/drivers/cxl/core/region.c
+++ b/drivers/cxl/core/region.c
@@ -2061,6 +2061,7 @@  static int cxl_region_sort_targets(struct cxl_region *cxlr)
        for (i = 0; i < p->nr_targets; i++) {
                struct cxl_endpoint_decoder *cxled = p->targets[i];

+               cxled->pos = cxl_calc_interleave_pos(cxled);
                /*
                 * Record that sorting failed, but still continue to calc
                 * cxled->pos so that follow-on code paths can reliably