RE: [PATCH v5] Quirk for IVB graphics FLR errata

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

 



> -----Original Message-----
> From: Matthew Wilcox [mailto:matthew@xxxxxx]
> Sent: Sunday, April 15, 2012 4:41 AM
> To: Hao, Xudong
> Cc: Bjorn Helgaas; linux-pci@xxxxxxxxxxxxxxx; Don Dutile
> Subject: Re: [PATCH v5] Quirk for IVB graphics FLR errata
> 
> On Fri, Apr 13, 2012 at 08:22:18AM +0000, Hao, Xudong wrote:
> > Changes from v4: (based on Matthew and Don's comments)
> > - using jiffies to set timeout instead of tsc.
> > - correct type mmio_base variable
> > - using readl() and writel() to access io.
> > - correct code style, use spaces around the multiply operator.
> 
> Much better!  Just a couple of minor nits ...
> 
> > +	val = readl(mmio_base + PCH_PP_CONTROL) & 0xfffffffe;
> > +	writel(val, mmio_base + PCH_PP_CONTROL);
> > +	do {
> > +		timeout = jiffies + msecs_to_jiffies(IGD_OPERATION_TIMEOUT);
> > +		while (1) {
> 
> Personally, I'd write this as:
> 
> 	while (time_before(jiffies, timeout)) {
> 		...
> 	}
> 
> > +			val = readl(mmio_base + PCH_PP_STATUS);
> > +			if (((val & 0x80000000) == 0)
> > +				&& ((val & 0x30000000) == 0))
> 
> Is there a reason why this shouldn't be:
> 
> 		if ((val & 0xB0000000) == 0)
> 
> > +				break;
> > +			if (time_after(jiffies, timeout))
> > +				break;
> > +			cpu_relax();
> > +		}
> > +	} while (0);
> 
> Why do we need this to be in a do { } while (0) loop?
> 
> Putting those three suggestions together, I think it should look like this:
> 
> 	writel(val, mmio_base + PCH_PP_CONTROL);
> 	timeout = jiffies + msecs_to_jiffies(IGD_OPERATION_TIMEOUT);
> 	while (time_before(jiffies, timeout)) {
> 		val = readl(mmio_base + PCH_PP_STATUS);
> 		if ((val & 0xB0000000) == 0)
> 			break;
> 		cpu_relax();
> 	}
> 	writel(0x00000002, mmio_base + 0xd0100);
> 

The code looks simple and reasonable, I'll modify with changes and add your name in Signed-off-by.

> With that change, please add:
> 
> Signed-off-by: Matthew Wilcox <willy@xxxxxxxxxxxxxxx>
> 
> --
> Matthew Wilcox				Intel Open Source Technology Centre
> "Bill, look, we understand that you're interested in selling us this operating
> system, but compare it to ours.  We can't possibly take such a retrograde
> step."
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux