drm/komeda: Expose bus_width to Komeda-CORE
CHIP set bus_width according to the HW configuration, and CORE will use it as buffer alignment. v2: Rebase Signed-off-by: James Qian Wang (Arm Technology China) <james.qian.wang@arm.com> Signed-off-by: Liviu Dudau <liviu.dudau@arm.com>
This commit is contained in:
committed by
Liviu Dudau
parent
55223394d5
commit
8c134d13a0
@@ -520,6 +520,7 @@ d71_identify(u32 __iomem *reg_base, struct komeda_chip_info *chip)
|
|||||||
chip->arch_id = malidp_read32(reg_base, GLB_ARCH_ID);
|
chip->arch_id = malidp_read32(reg_base, GLB_ARCH_ID);
|
||||||
chip->core_id = malidp_read32(reg_base, GLB_CORE_ID);
|
chip->core_id = malidp_read32(reg_base, GLB_CORE_ID);
|
||||||
chip->core_info = malidp_read32(reg_base, GLB_CORE_INFO);
|
chip->core_info = malidp_read32(reg_base, GLB_CORE_INFO);
|
||||||
|
chip->bus_width = D71_BUS_WIDTH_16_BYTES;
|
||||||
|
|
||||||
return &d71_chip_funcs;
|
return &d71_chip_funcs;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,10 +26,10 @@ static int komeda_gem_cma_dumb_create(struct drm_file *file,
|
|||||||
struct drm_device *dev,
|
struct drm_device *dev,
|
||||||
struct drm_mode_create_dumb *args)
|
struct drm_mode_create_dumb *args)
|
||||||
{
|
{
|
||||||
u32 alignment = 16; /* TODO get alignment from dev */
|
struct komeda_dev *mdev = dev->dev_private;
|
||||||
|
u32 pitch = DIV_ROUND_UP(args->width * args->bpp, 8);
|
||||||
|
|
||||||
args->pitch = ALIGN(DIV_ROUND_UP(args->width * args->bpp, 8),
|
args->pitch = ALIGN(pitch, mdev->chip.bus_width);
|
||||||
alignment);
|
|
||||||
|
|
||||||
return drm_gem_cma_dumb_create_internal(file, dev, args);
|
return drm_gem_cma_dumb_create_internal(file, dev, args);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user