static __inline__ int qla2x00_normalize_dma_addr( dma_addr_t *e_addr,  uint32_t *e_len, dma_addr_t *ne_addr, uint32_t *ne_len);  /** * qla2x00_normalize_dma_addr() - Normalize an DMA address. * @e_addr: Raw DMA address * @e_len: Raw DMA length * @ne_addr: Normalized second DMA address * @ne_len: Normalized second DMA length * * If the address does not span a 4GB page boundary, the contents of @ne_addr * and @ne_len are undefined.  @e_len is updated to reflect a normalization. * * Example: * * 	ffffabc0ffffeeee	(e_addr) start of DMA address * 	0000000020000000	(e_len)  length of DMA transfer *	ffffabc11fffeeed	end of DMA transfer * * Is the 4GB boundary crossed? * * 	ffffabc0ffffeeee	(e_addr) *	ffffabc11fffeeed	(e_addr + e_len - 1) *	00000001e0000003	((e_addr ^ (e_addr + e_len - 1)) *	0000000100000000	((e_addr ^ (e_addr + e_len - 1)) & ~(0xffffffff) * * Compute start of second DMA segment: * * 	ffffabc0ffffeeee	(e_addr) *	ffffabc1ffffeeee	(0x100000000 + e_addr) *	ffffabc100000000	(0x100000000 + e_addr) & ~(0xffffffff) *	ffffabc100000000	(ne_addr) * * Compute length of second DMA segment: * *	00000000ffffeeee	(e_addr & 0xffffffff) *	0000000000001112	(0x100000000 - (e_addr & 0xffffffff)) *	000000001fffeeee	(e_len - (0x100000000 - (e_addr & 0xffffffff)) *	000000001fffeeee	(ne_len) * * Adjust length of first DMA segment * * 	0000000020000000	(e_len) *	0000000000001112	(e_len - ne_len) *	0000000000001112	(e_len) * * Returns non-zero if the specified address was normalized, else zero. */ static __inline__ int 
static __inline__ int qla2x00_normalize_dma_addr(    dma_addr_t *e_addr,  uint32_t *e_len,    dma_addr_t *ne_addr, uint32_t *ne_len);/** * qla2x00_normalize_dma_addr() - Normalize an DMA address. * @e_addr: Raw DMA address * @e_len: Raw DMA length * @ne_addr: Normalized second DMA address * @ne_len: Normalized second DMA length * * If the address does not span a 4GB page boundary, the contents of @ne_addr * and @ne_len are undefined.  @e_len is updated to reflect a normalization. * * Example: * * 	ffffabc0ffffeeee	(e_addr) start of DMA address * 	0000000020000000	(e_len)  length of DMA transfer *	ffffabc11fffeeed	end of DMA transfer * * Is the 4GB boundary crossed? * * 	ffffabc0ffffeeee	(e_addr) *	ffffabc11fffeeed	(e_addr + e_len - 1) *	00000001e0000003	((e_addr ^ (e_addr + e_len - 1)) *	0000000100000000	((e_addr ^ (e_addr + e_len - 1)) & ~(0xffffffff) * * Compute start of second DMA segment: * * 	ffffabc0ffffeeee	(e_addr) *	ffffabc1ffffeeee	(0x100000000 + e_addr) *	ffffabc100000000	(0x100000000 + e_addr) & ~(0xffffffff) *	ffffabc100000000	(ne_addr) *	 * Compute length of second DMA segment: * *	00000000ffffeeee	(e_addr & 0xffffffff) *	0000000000001112	(0x100000000 - (e_addr & 0xffffffff)) *	000000001fffeeee	(e_len - (0x100000000 - (e_addr & 0xffffffff)) *	000000001fffeeee	(ne_len) * * Adjust length of first DMA segment * * 	0000000020000000	(e_len) *	0000000000001112	(e_len - ne_len) *	0000000000001112	(e_len) * * Returns non-zero if the specified address was normalized, else zero. */static __inline__ intqla2x00_normalize_dma_addr(    dma_addr_t *e_addr,  uint32_t *e_len,    dma_addr_t *ne_addr, uint32_t *ne_len){	int normalized;	normalized = 0;	if ((*e_addr ^ (*e_addr + *e_len - 1)) & ~(0xFFFFFFFFULL)) {		/* Compute normalized crossed address and len */		*ne_addr = (0x100000000ULL + *e_addr) & ~(0xFFFFFFFFULL);		*ne_len = *e_len - (0x100000000ULL - (*e_addr & 0xFFFFFFFFULL));		*e_len -= *ne_len;		normalized++;	}	return (normalized);}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/bdf796210e01145fd77bbb3ae644d04f982b6c3b/qla_inline.h/buggy/drivers/scsi/qla2xxx/qla_inline.h