Skip to content

Commit

Permalink
hw/cxl: Push cxl_decoder_count_enc() and cxl_decode_ig() into .c
Browse files Browse the repository at this point in the history
There is no strong justification for keeping these in the header
so push them down into the associated cxl-component-utils.c file.

Suggested-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Fan Ni <fan.ni@samsung.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Message-Id: <20230913132523.29780-2-Jonathan.Cameron@huawei.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
  • Loading branch information
jic23 authored and mstsirkin committed Oct 4, 2023
1 parent 46f80b8 commit 252a506
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 16 deletions.
18 changes: 18 additions & 0 deletions hw/cxl/cxl-component-utils.c
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,24 @@
#include "hw/pci/pci.h"
#include "hw/cxl/cxl.h"

int cxl_decoder_count_enc(int count)
{
switch (count) {
case 1: return 0;
case 2: return 1;
case 4: return 2;
case 6: return 3;
case 8: return 4;
case 10: return 5;
}
return 0;
}

hwaddr cxl_decode_ig(int ig)
{
return 1ULL << (ig + 8);
}

static uint64_t cxl_cache_mem_read_reg(void *opaque, hwaddr offset,
unsigned size)
{
Expand Down
18 changes: 2 additions & 16 deletions include/hw/cxl/cxl_component.h
Original file line number Diff line number Diff line change
Expand Up @@ -225,26 +225,12 @@ void cxl_component_create_dvsec(CXLComponentState *cxl_cstate,
enum reg_type cxl_dev_type, uint16_t length,
uint16_t type, uint8_t rev, uint8_t *body);

static inline int cxl_decoder_count_enc(int count)
{
switch (count) {
case 1: return 0;
case 2: return 1;
case 4: return 2;
case 6: return 3;
case 8: return 4;
case 10: return 5;
}
return 0;
}
int cxl_decoder_count_enc(int count);

uint8_t cxl_interleave_ways_enc(int iw, Error **errp);
uint8_t cxl_interleave_granularity_enc(uint64_t gran, Error **errp);

static inline hwaddr cxl_decode_ig(int ig)
{
return 1ULL << (ig + 8);
}
hwaddr cxl_decode_ig(int ig);

CXLComponentState *cxl_get_hb_cstate(PCIHostState *hb);
bool cxl_get_hb_passthrough(PCIHostState *hb);
Expand Down

0 comments on commit 252a506

Please sign in to comment.