mirror of
https://gitlab.com/qemu-project/qemu
synced 2024-10-14 15:02:54 +00:00
hw/cxl: Push cxl_decoder_count_enc() and cxl_decode_ig() into .c
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>
This commit is contained in:
parent
0a7a164bc3
commit
f5a4e1a697
|
@ -13,6 +13,24 @@
|
||||||
#include "hw/pci/pci.h"
|
#include "hw/pci/pci.h"
|
||||||
#include "hw/cxl/cxl.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,
|
static uint64_t cxl_cache_mem_read_reg(void *opaque, hwaddr offset,
|
||||||
unsigned size)
|
unsigned size)
|
||||||
{
|
{
|
||||||
|
|
|
@ -225,26 +225,12 @@ void cxl_component_create_dvsec(CXLComponentState *cxl_cstate,
|
||||||
enum reg_type cxl_dev_type, uint16_t length,
|
enum reg_type cxl_dev_type, uint16_t length,
|
||||||
uint16_t type, uint8_t rev, uint8_t *body);
|
uint16_t type, uint8_t rev, uint8_t *body);
|
||||||
|
|
||||||
static inline int cxl_decoder_count_enc(int count)
|
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;
|
|
||||||
}
|
|
||||||
|
|
||||||
uint8_t cxl_interleave_ways_enc(int iw, Error **errp);
|
uint8_t cxl_interleave_ways_enc(int iw, Error **errp);
|
||||||
uint8_t cxl_interleave_granularity_enc(uint64_t gran, Error **errp);
|
uint8_t cxl_interleave_granularity_enc(uint64_t gran, Error **errp);
|
||||||
|
|
||||||
static inline hwaddr cxl_decode_ig(int ig)
|
hwaddr cxl_decode_ig(int ig);
|
||||||
{
|
|
||||||
return 1ULL << (ig + 8);
|
|
||||||
}
|
|
||||||
|
|
||||||
CXLComponentState *cxl_get_hb_cstate(PCIHostState *hb);
|
CXLComponentState *cxl_get_hb_cstate(PCIHostState *hb);
|
||||||
bool cxl_get_hb_passthrough(PCIHostState *hb);
|
bool cxl_get_hb_passthrough(PCIHostState *hb);
|
||||||
|
|
Loading…
Reference in a new issue