fbdev: sh_mobile_meram: Don't inline everything
Let the compiler decide which complex functions to inline, and constify constant static arrays. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
This commit is contained in:
parent
2a618e0333
commit
762f7cc94b
|
@ -83,14 +83,14 @@
|
||||||
|
|
||||||
#define SH_MOBILE_MERAM_ICB_NUM 32
|
#define SH_MOBILE_MERAM_ICB_NUM 32
|
||||||
|
|
||||||
static unsigned long common_regs[] = {
|
static const unsigned long common_regs[] = {
|
||||||
MEVCR1,
|
MEVCR1,
|
||||||
MEQSEL1,
|
MEQSEL1,
|
||||||
MEQSEL2,
|
MEQSEL2,
|
||||||
};
|
};
|
||||||
#define CMN_REGS_SIZE ARRAY_SIZE(common_regs)
|
#define CMN_REGS_SIZE ARRAY_SIZE(common_regs)
|
||||||
|
|
||||||
static unsigned long icb_regs[] = {
|
static const unsigned long icb_regs[] = {
|
||||||
MExxCTL,
|
MExxCTL,
|
||||||
MExxBSIZE,
|
MExxBSIZE,
|
||||||
MExxMNCF,
|
MExxMNCF,
|
||||||
|
@ -180,8 +180,8 @@ static inline unsigned long meram_read_reg(void __iomem *base, unsigned int off)
|
||||||
* check if there's no overlaps in MERAM allocation.
|
* check if there's no overlaps in MERAM allocation.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static inline int meram_check_overlap(struct sh_mobile_meram_priv *priv,
|
static int meram_check_overlap(struct sh_mobile_meram_priv *priv,
|
||||||
const struct sh_mobile_meram_icb_cfg *new)
|
const struct sh_mobile_meram_icb_cfg *new)
|
||||||
{
|
{
|
||||||
unsigned int used_start, used_end, meram_start, meram_end;
|
unsigned int used_start, used_end, meram_start, meram_end;
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
|
@ -215,9 +215,9 @@ static inline int meram_check_overlap(struct sh_mobile_meram_priv *priv,
|
||||||
* mark the specified ICB as used
|
* mark the specified ICB as used
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static inline void meram_mark(struct sh_mobile_meram_priv *priv,
|
static void meram_mark(struct sh_mobile_meram_priv *priv,
|
||||||
const struct sh_mobile_meram_icb_cfg *new,
|
const struct sh_mobile_meram_icb_cfg *new,
|
||||||
int pixelformat)
|
int pixelformat)
|
||||||
{
|
{
|
||||||
__set_bit(new->marker_icb, &priv->used_icb);
|
__set_bit(new->marker_icb, &priv->used_icb);
|
||||||
__set_bit(new->cache_icb, &priv->used_icb);
|
__set_bit(new->cache_icb, &priv->used_icb);
|
||||||
|
@ -234,8 +234,8 @@ static inline void meram_mark(struct sh_mobile_meram_priv *priv,
|
||||||
* unmark the specified ICB as used
|
* unmark the specified ICB as used
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static inline void meram_unmark(struct sh_mobile_meram_priv *priv,
|
static void meram_unmark(struct sh_mobile_meram_priv *priv,
|
||||||
const struct sh_mobile_meram_icb_cfg *icb)
|
const struct sh_mobile_meram_icb_cfg *icb)
|
||||||
{
|
{
|
||||||
__clear_bit(icb->marker_icb, &priv->used_icb);
|
__clear_bit(icb->marker_icb, &priv->used_icb);
|
||||||
__clear_bit(icb->cache_icb, &priv->used_icb);
|
__clear_bit(icb->cache_icb, &priv->used_icb);
|
||||||
|
@ -244,7 +244,7 @@ static inline void meram_unmark(struct sh_mobile_meram_priv *priv,
|
||||||
/*
|
/*
|
||||||
* is this a YCbCr(NV12, NV16 or NV24) colorspace
|
* is this a YCbCr(NV12, NV16 or NV24) colorspace
|
||||||
*/
|
*/
|
||||||
static inline int is_nvcolor(int cspace)
|
static int is_nvcolor(int cspace)
|
||||||
{
|
{
|
||||||
if (cspace == SH_MOBILE_MERAM_PF_NV ||
|
if (cspace == SH_MOBILE_MERAM_PF_NV ||
|
||||||
cspace == SH_MOBILE_MERAM_PF_NV24)
|
cspace == SH_MOBILE_MERAM_PF_NV24)
|
||||||
|
@ -255,10 +255,10 @@ static inline int is_nvcolor(int cspace)
|
||||||
/*
|
/*
|
||||||
* set the next address to fetch
|
* set the next address to fetch
|
||||||
*/
|
*/
|
||||||
static inline void meram_set_next_addr(struct sh_mobile_meram_priv *priv,
|
static void meram_set_next_addr(struct sh_mobile_meram_priv *priv,
|
||||||
const struct sh_mobile_meram_cfg *cfg,
|
const struct sh_mobile_meram_cfg *cfg,
|
||||||
unsigned long base_addr_y,
|
unsigned long base_addr_y,
|
||||||
unsigned long base_addr_c)
|
unsigned long base_addr_c)
|
||||||
{
|
{
|
||||||
struct sh_mobile_meram_icb *icb = &priv->icbs[cfg->icb[0].marker_icb];
|
struct sh_mobile_meram_icb *icb = &priv->icbs[cfg->icb[0].marker_icb];
|
||||||
unsigned long target;
|
unsigned long target;
|
||||||
|
@ -285,7 +285,7 @@ static inline void meram_set_next_addr(struct sh_mobile_meram_priv *priv,
|
||||||
/*
|
/*
|
||||||
* get the next ICB address
|
* get the next ICB address
|
||||||
*/
|
*/
|
||||||
static inline void
|
static void
|
||||||
meram_get_next_icb_addr(struct sh_mobile_meram_info *pdata,
|
meram_get_next_icb_addr(struct sh_mobile_meram_info *pdata,
|
||||||
const struct sh_mobile_meram_cfg *cfg,
|
const struct sh_mobile_meram_cfg *cfg,
|
||||||
unsigned long *icb_addr_y, unsigned long *icb_addr_c)
|
unsigned long *icb_addr_y, unsigned long *icb_addr_c)
|
||||||
|
|
Loading…
Reference in New Issue