* 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).