bus_addr = (dma_addr_t) (ct_addr & 0xffffffffffff); 
bus_addr = (dma_addr_t) (ct_addr & 0xffffffffffffUL); 
tioca_dma_d48(struct pci_dev *pdev, uint64_t paddr){	struct tioca_common *tioca_common;	struct tioca *ca_base;	uint64_t ct_addr;	dma_addr_t bus_addr;	uint32_t node_upper;	uint64_t agp_dma_extn;	struct pcidev_info *pcidev_info = SN_PCIDEV_INFO(pdev);	tioca_common = (struct tioca_common *)pcidev_info->pdi_pcibus_info;	ca_base = (struct tioca *)tioca_common->ca_common.bs_base;	ct_addr = PHYS_TO_TIODMA(paddr);	if (!ct_addr)		return 0;	bus_addr = (dma_addr_t) (ct_addr & 0xffffffffffff);	node_upper = ct_addr >> 48;	if (node_upper > 64) {		printk(KERN_ERR "%s:  coretalk addr 0x%p node id out "		       "of range\n", __FUNCTION__, (void *)ct_addr);		return 0;	}	agp_dma_extn = ca_base->ca_agp_dma_addr_extn;	if (node_upper != (agp_dma_extn >> CA_AGP_DMA_NODE_ID_SHFT)) {		printk(KERN_ERR "%s:  coretalk upper node (%u) "		       "mismatch with ca_agp_dma_addr_extn (%lu)\n",		       __FUNCTION__,		       node_upper, (agp_dma_extn >> CA_AGP_DMA_NODE_ID_SHFT));		return 0;	}	return bus_addr;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/92a582ed2757456ca9599f8b4ea2064f2154eb02/tioca_provider.c/buggy/arch/ia64/sn/pci/tioca_provider.c