/* bar4_shift - function is called to shift BAR base address @pm8001_ha : our hba card infomation @shiftValue : shifting value in memory bar.  */
static int bar4_shift(struct pm8001_hba_info *pm8001_ha, u32 shiftValue)
/* bar4_shift - function is called to shift BAR base address @pm8001_ha : our hba card infomation @shiftValue : shifting value in memory bar.  */
static int bar4_shift(struct pm8001_hba_info *pm8001_ha, u32 shiftValue)
{
	u32 regVal;
	u32 max_wait_count;
	pm8001_cw32(pm8001_ha, 1, SPC_IBW_AXI_TRANSLATION_LOW, shiftValue);
	max_wait_count = 1 * 1000 * 1000;
	do {
		udelay(1);
		regVal = pm8001_cr32(pm8001_ha, 1, SPC_IBW_AXI_TRANSLATION_LOW);
	} while ((regVal != shiftValue) && (--max_wait_count));
	if (!max_wait_count) {
		PM8001_INIT_DBG(pm8001_ha,
			pm8001_printk("TIMEOUT:SPC_IBW_AXI_TRANSLATION_LOW"
			" = 0x%x\n", regVal));
		return -1;
	}
	return 0;
}