Re: [PATCH 09/37] usb: host: xhci: clear only STS_EINT

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

 



Hi,

On 12/30/2016 03:52 PM, Felipe Balbi wrote:
> Hi,
>
> Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx> writes:
>> On 12/29/2016 07:00 PM, Felipe Balbi wrote:
>>> Many other bits in USBSTS register are "clear-by-writing-1". Let's make
>>> sure that we clear *only* STS_EINT and not any of the other bits as they
>>> might be needed later.
>> Bit 13~31 in status register is for RsvdP (Reserved and Preserved).
> totally missed the "Preserved" part. Thanks
>
>> This means these bits are reserved for future RW implementations.
>> Software shall preserve the value read for writes.
>>
>> How about below helper?
>>
>> static inline void clear_status_rw1c_bit(u32 bit)
>> {
>>     u32 status;
>>
>>     status = readl(&xhci->op_regs->status);
>>     /* preserve RsvP bits and clear RO/RW1C/RsvZ bits */
>>     status &= ~0x1fff;
>>     status |= bit;
>>
>>     writel(status, &xhci->op_regs->status);
>> }
> not sure, I have no problems with it, but it's for mathias to decide. If
> anything, it should be prefixed by xhci_ so it's easier to use ftrace.
>
>> Look into the code, I still find other two places where RW1C bits
>> are not cleared correctly.
>>
>> In xhci_stop() and xhci_resume(), the RW1C bit is treated as a RW type.
>>
>>  724         temp = readl(&xhci->op_regs->status);
>>  725         writel(temp & ~STS_EINT, &xhci->op_regs->status);
>>
>> I will correct these in a separated patch and cc stable as well.
> That's cool. Then I can drop this patch from my series.

You don't need to drop this patch from your series. My patch
didn't include your change.


Best regards,
Lu Baolu
--
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