void __iomem *port_mmio = mv_port_base(mmio, port);  
static void mv6_phy_errata(struct mv_host_priv *hpriv, void __iomem *port_mmio,			   unsigned int port){	u32 hp_flags = hpriv->hp_flags;	int fix_phy_mode2 =		hp_flags & (MV_HP_ERRATA_60X1B2 | MV_HP_ERRATA_60X1C0);	int fix_phy_mode4 =		hp_flags & (MV_HP_ERRATA_60X1B2 | MV_HP_ERRATA_60X1C0);	u32 m2, tmp;	if (fix_phy_mode2) {		m2 = readl(port_mmio + PHY_MODE2);		m2 &= ~(1 << 16);		m2 |= (1 << 31);		writel(m2, port_mmio + PHY_MODE2);		udelay(200);		m2 = readl(port_mmio + PHY_MODE2);		m2 &= ~((1 << 16) | (1 << 31));		writel(m2, port_mmio + PHY_MODE2);		udelay(200);	}	/* who knows what this magic does */	tmp = readl(port_mmio + PHY_MODE3);	tmp &= ~0x7F800000;	tmp |= 0x2A800000;	writel(tmp, port_mmio + PHY_MODE3);	if (fix_phy_mode4) {		u32 m4;		m4 = readl(port_mmio + PHY_MODE4);		if (hp_flags & MV_HP_ERRATA_60X1B2)			tmp = readl(port_mmio + 0x310);		m4 = (m4 & ~(1 << 1)) | (1 << 0);		writel(m4, port_mmio + PHY_MODE4);		if (hp_flags & MV_HP_ERRATA_60X1B2)			writel(tmp, port_mmio + 0x310);	}	/* Revert values of pre-emphasis and signal amps to the saved ones */	m2 = readl(port_mmio + PHY_MODE2);	m2 &= ~MV_M2_PREAMP_MASK;	m2 |= hpriv->signal[port].amps;	m2 |= hpriv->signal[port].pre;	m2 &= ~(1 << 16);	writel(m2, port_mmio + PHY_MODE2);}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/c9d39130123238ac18478a42e25cb7996eacfcc0/sata_mv.c/buggy/drivers/scsi/sata_mv.c