Re: [PATCH] video: imxfb: correct the bitmask for DMACR_HM/_TM
From: Martin Kaiser
Date: Wed Nov 23 2016 - 04:32:19 EST
Hello Uwe, all,
Thus wrote Uwe Kleine-König (u.kleine-koenig@xxxxxxxxxxxxxx):
> For the MX1 which is also supported by this driver, the definitions are
> right.
ok, understood. I wasn't able to dig up an imx1 specification. Do you
know if it's publicly available?
> So this needs a more sophisticated patch. Also I wonder why the
> register definition is in include/linux/platform_data and not in the
> driver directly.
The DMACR_HM() and _TM() macros are meant to be used when we initialize
imx_fb_platform_data's dmacr component for a platform device. It's not
straightforward to distinguish between imx1 and imx21 at initialization
time.
We could modify imx_fb_platform_data to use different components for
dmacr_burst, dmacr_hm, dmacr_tm and calculate the dmacr register value
in the driver where is_imx1_fb() is available. Device tree is also using
a single dmacr entry, it's probably not a good idea to do this
differently for platform devices...
We could also define DMACR_HM_IMX1(), DMACR_HM_IMX21(), ...
Or we could just remove the macros, they are not used by any boards in
the mainline kernel. If we don't want to break proprietary board
definitions, we could at least add a comment that the macros are
incorrect for imx21.
Thoughts?
Best regards,
Martin