Re: [RFC][RFT][PATCH 3/4 v6] OMAP: McBSP: Introduce caching in register write operations

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



* Tony Lindgren <tony@xxxxxxxxxxx> [091208 08:39]:
> > @@ -391,6 +405,31 @@ int omap_mcbsp_request(unsigned int id)
> >  	}
> >  	mcbsp = id_to_mcbsp_ptr(id);
> >  
> > +	if (cpu_is_omap7xx()) {
> > +		mcbsp->reg_cache = kzalloc(sizeof(u16) *
> > +				OMAP7XX_MCBSP_REG_NUM, GFP_KERNEL);
> > +	} else if (cpu_is_omap15xx()) {
> > +		mcbsp->reg_cache = kzalloc(sizeof(u16) *
> > +				OMAP15XX_MCBSP_REG_NUM, GFP_KERNEL);
> > +	} else if (cpu_is_omap16xx()) {
> > +		mcbsp->reg_cache = kzalloc(sizeof(u16) *
> > +				OMAP16XX_MCBSP_REG_NUM, GFP_KERNEL);
> > +	} else if (cpu_is_omap2420()) {
> > +		mcbsp->reg_cache = kzalloc(sizeof(u16) *
> > +				OMAP24XX_MCBSP_REG_NUM, GFP_KERNEL);
> > +	} else if (cpu_is_omap2430()) {
> > +		mcbsp->reg_cache = kzalloc(sizeof(u32) *
> > +				OMAP24XX_MCBSP_REG_NUM, GFP_KERNEL);
> > +	} else if (cpu_is_omap34xx()) {
> > +		mcbsp->reg_cache = kzalloc(sizeof(u32) *
> > +				OMAP34XX_MCBSP_REG_NUM, GFP_KERNEL);
> > +	} else if (cpu_is_omap44xx()) {
> > +		mcbsp->reg_cache = kzalloc(sizeof(u32) *
> > +				OMAP44XX_MCBSP_REG_NUM, GFP_KERNEL);
> > +	}
> 
> How about just set the cache size above based on the processor,
> then do kzalloc here:
> 
> mcbsp->reg_cache = kzalloc(size, GFP_KERNEL);
> > +	if (!mcbsp->reg_cache)
> > +		return -ENOMEM;
> > +
> 
> That way the kzalloc and error checking are in the same place.

Actually since we already have mach-omap1/mcbsp.c and mach-omap2/mcbsp.c,
it would be best to pass the cache size from omap1_mcbsp_init and
omap2_mcbsp_init. That leaves some of the if cpu_is_omapxxxx() else
stuff.

Regards,

Tony
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux