linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* A question about right-shift in ahci_port_start()
@ 2006-04-17  7:25 zhao, forrest
  2006-04-17  7:46 ` Tejun Heo
  0 siblings, 1 reply; 2+ messages in thread
From: zhao, forrest @ 2006-04-17  7:25 UTC (permalink / raw)
  To: jeff; +Cc: linux-ide

Hi, Jeff

When reading ahci_port_start(), I found the
following code segments:

.......
if (hpriv->cap & HOST_CAP_64)
        writel((pp->cmd_slot_dma >> 16) >> 16, port_mmio +
PORT_LST_ADDR_HI);
        writel(pp->cmd_slot_dma & 0xffffffff, port_mmio +
PORT_LST_ADDR);
        readl(port_mmio + PORT_LST_ADDR); /* flush */
......

I can't figure out why you use ">>16>>16" instead of
">>32" for right-shift 32 bits.

Would you please give me some hint?

Thanks,
Forrest

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: A question about right-shift in ahci_port_start()
  2006-04-17  7:25 A question about right-shift in ahci_port_start() zhao, forrest
@ 2006-04-17  7:46 ` Tejun Heo
  0 siblings, 0 replies; 2+ messages in thread
From: Tejun Heo @ 2006-04-17  7:46 UTC (permalink / raw)
  To: zhao, forrest; +Cc: jeff, linux-ide

zhao, forrest wrote:
> Hi, Jeff
> 
> When reading ahci_port_start(), I found the
> following code segments:
> 
> .......
> if (hpriv->cap & HOST_CAP_64)
>         writel((pp->cmd_slot_dma >> 16) >> 16, port_mmio +
> PORT_LST_ADDR_HI);
>         writel(pp->cmd_slot_dma & 0xffffffff, port_mmio +
> PORT_LST_ADDR);
>         readl(port_mmio + PORT_LST_ADDR); /* flush */
> ......
> 
> I can't figure out why you use ">>16>>16" instead of
> ">>32" for right-shift 32 bits.
> 

dma_addr_t is 32bits on some architectures and C hates when you do 32 
bit shift to 32bit variable.

$ cat test.c
#include <sys/types.h>

int main(void)
{
	u_int32_t t = 1234;
	t = t >> 32;
	return 0;
}

$ gcc test.c
test.c: In function 'main':
test.c:6: warning: right shift count >= width of type

-- 
tejun

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2006-04-17  7:46 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-04-17  7:25 A question about right-shift in ahci_port_start() zhao, forrest
2006-04-17  7:46 ` Tejun Heo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).