Re: [PATCH v2 11/16] USB: ehci: add workaround for Synopsys HC bug

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

 



Hi Greg,

<...>
>> diff --git a/drivers/usb/host/ehci-q.c b/drivers/usb/host/ehci-q.c
>> index 233c288..343b8de 100644
>> --- a/drivers/usb/host/ehci-q.c
>> +++ b/drivers/usb/host/ehci-q.c
>> @@ -1193,6 +1193,9 @@ static void end_unlink_async (struct ehci_hcd *ehci)
>>  		ehci->reclaim = NULL;
>>  		start_unlink_async (ehci, next);
>>  	}
>> +
>> +	if (ehci->has_synopsys_hc_bug)
>> +		writel((u32)ehci->async->qh_dma, &ehci->regs->async_next);
>>  }
>>  
>>  /* makes sure the async qh will become idle */
>> diff --git a/drivers/usb/host/ehci.h b/drivers/usb/host/ehci.h
>> index ba8eab3..6da85b2 100644
>> --- a/drivers/usb/host/ehci.h
>> +++ b/drivers/usb/host/ehci.h
>> @@ -133,6 +133,7 @@ struct ehci_hcd {			/* one per controller */
>>  	unsigned		broken_periodic:1;
>>  	unsigned		fs_i_thresh:1;	/* Intel iso scheduling */
>>  	unsigned		use_dummy_qh:1;	/* AMD Frame List table quirk*/
>> +	unsigned		has_synopsys_hc_bug:1; /* Synopsys HC */
> 
> That's fine, but who sets this value to 1?  I don't see any code that
> does that, so why add this at all?  :)

It will be set to 1 by ehci_ath79_init which is in the next patch [1] of this
series.

-Gabor

1. http://marc.info/?l=linux-usb&m=129304988827418&w=2



[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux