Re: [PATCH 04/11] USB: musb: gadget: fix MUSB_TXMAXP and MUSB_RXMAXP configuration

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

 



On Tue, Nov 9, 2010 at 10:07 PM, Ming Lei <tom.leiming@xxxxxxxxx> wrote:
> 2010/11/9 Bob Liu <lliubbo@xxxxxxxxx>:
>> Hi, Ming
>>
>> I found out the cause of this problem on our platform.
>>
>> According to our hardware reference manuel, big changes are needed to
>> support double buffer(eg. it depends on SOF interrupt and rxcsr
>> fifofull bit etc). We need more time to work on these.
>
> Could you give which page or which section about the description?
> Seems bfin otg TRM is open.
>
> If not, could you describe the problem in more detail?
>

Our spec said when double buffering enabled
"
Set up an ISR, sensitive to the SOF_B interrupt, that reads the
FIFO_FULL_R bit, reads the USB_RXCOUNT status register, and finally
removes one or two packets (equaling from the USB_RXCOUNT number
of bytes) from the FIFO and clears RXPKTRDY.

Set SOF_B=1 in USB_INTRUSBE to generate an interrupt on each start
of frame.
"

>>
>> So Felipe,
>> is patch like this can be accepted ?
>> ============
>> - Â Â Â Â Â Â Â if (musb->hwvers < MUSB_HWVERS_2000)
>> Â Â Â Â Â Â Â if (musb->hwvers < MUSB_HWVERS_2000 && !musb->dyn_fifo)
>> Â Â Â Â Â Â Â Â Â Â Â musb_writew(regs, MUSB_TXMAXP, hw_ep->max_packet_sz_tx);
>> Â Â Â Â Â Â Â else
>> Â Â Â Â Â Â Â Â Â Â Â musb_writew(regs, MUSB_TXMAXP,
>> musb_ep->packet_sz | (musb_ep->hb_mult << 11));
>>
>> or
>>
>> - Â Â Â Â Â Â Â if (musb->hwvers < MUSB_HWVERS_2000)
>> Â Â Â Â Â Â Â if (musb->hwvers < MUSB_HWVERS_2000 && musb->config->gpio_vrsel)
>> Â Â Â Â Â Â Â Â Â Â Â musb_writew(regs, MUSB_TXMAXP, hw_ep->max_packet_sz_tx);
>> Â Â Â Â Â Â Â else
>> Â Â Â Â Â Â Â Â Â Â Â musb_writew(regs, MUSB_TXMAXP,
>> musb_ep->packet_sz | (musb_ep->hb_mult << 11));
>>
>
> I don't think either one can be accepted.
>
> This two still can make g_ether or full speed test broken in bfin,
> can't this?
>

We didn't see g_ether problem on our platform without this patch, it works fine.
Could you give detail step how to reproduce the g_ether problem?


>> If not, are there any suggestions how to deal with this problem.
>> How to support no dyn_fifo and only support single buffer platform ?
>
> What is the problem? See above.
>

After added this patch, double buffer will always auto enabled on our
platform which will cause
problem as our spec said on double buffer mode it use SOF_B interrupt
and FIFO_FULL_R bit etc.

So we want a way to keep this route on our platform but nomore on yours.

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


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux