The kernel fails to build on 32-bit arm architecture when Video Mixer
driver is enabled due to unsupported modulo operations in 32 bit mode.
The error shown is "undefined reference to `__aeabi_uldivmod'".
This is fixed by changing the data type of luma and chroma address to
dma_addr_t instead of u64.
Signed-off-by: Vishal Sagar <vishal.sagar@xilinx.com>
Reviewed-by: Hyun Kwon <hyun.kwon@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
*/
static int xlnx_mix_set_layer_buff_addr(struct xlnx_mix_hw *mixer,
enum xlnx_mix_layer_id id,
- u64 luma_addr, u64 chroma_addr)
+ dma_addr_t luma_addr,
+ dma_addr_t chroma_addr)
{
struct xlnx_mix_layer_data *layer_data;
u32 align, offset;
struct xlnx_mix *mixer;
struct drm_gem_cma_object *luma_buffer;
u32 luma_stride = fb->pitches[0];
- u64 luma_addr, chroma_addr = 0;
+ dma_addr_t luma_addr, chroma_addr = 0;
u32 active_area_width;
u32 active_area_height;
enum xlnx_mix_layer_id layer_id;