[RFC] using amba_pl08x driver for s3c64xx SoCs
Alim Akhtar
alim.akhtar at gmail.com
Mon Aug 8 00:51:53 EDT 2011
On Mon, Aug 8, 2011 at 9:55 AM, viresh kumar <viresh.kumar at st.com> wrote:
> On 08/05/2011 06:49 PM, Linus Walleij wrote:
>> Alter pl08x_phy_channel_busy() to return false immediately if
>> ch->serving == NULL?
>>
>> Please make a separate patch for this, since it's an obvious bug that
>> should be fixed ASAP.
>
> On 08/08/2011 09:39 AM, viresh kumar wrote:
>> Sorry, but i couldn't get why will we get a crash here.
>>
>> pl08x_phy_channel_busy() looks like this:
>>
>> static int pl08x_phy_channel_busy(struct pl08x_phy_chan *ch)
>> {
>> unsigned int val;
>>
>> val = readl(ch->base + PL080_CH_CONFIG);
>> return val & PL080_CONFIG_ACTIVE;
>> }
>>
>> ch->base is already initialized and clock is enabled by amba layer.
>>
>> Sorry if I am missing something Obvious.
>
> Sorry, i saw your patch now only. So you have updated this routine and now
> occurs a new issue.
>
> @Linus: The bug isn't present currently, but is introduced with Alim's patch only.
> So probably he isn't required to send this change separately, but can include this
> in his patch only. What do you say?
>
yes, that is introduced by my patch only, and I have fixed like below:
static int pl08x_phy_channel_busy(struct pl08x_phy_chan *ch)
{
struct pl08x_dma_chan *plchan = ch->serving;
struct pl08x_driver_data *pl08x;
unsigned int val;
if(plchan == NULL)
return false;
pl08x = plchan->host;
if(pl08x->vd->is_pl080_s3c)
val = readl(ch->base + PL080S_CH_CONFIG);
else
val = readl(ch->base + PL080_CH_CONFIG);
return val & PL080_CONFIG_ACTIVE;
}
> --
> viresh
>
Regards,
Alim
More information about the linux-arm-kernel
mailing list