Commit 4d5a28ef authored by Manu Abraham's avatar Manu Abraham Committed by Mauro Carvalho Chehab
Browse files

V4L/DVB (13750): [Mantis] GPIO_CONTROL: Cache a given GPIO Bit Setup for a given event

parent ac23f4c8
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -137,7 +137,7 @@ struct mantis_pci {
	u32			sub_device_id;

	 /*	A12 A13 A14		*/
	int			gpio_status;
	u32			gpio_status;

	struct mantis_ca	*mantis_ca;
};
+5 −6
Original line number Diff line number Diff line
@@ -185,16 +185,15 @@ int mantis_core_exit(struct mantis_pci *mantis)
// Turn the given bit on or off.
void gpio_set_bits(struct mantis_pci *mantis, u32 bitpos, u8 value)
{
	u32 currVal, newVal;

	currVal = mmread(MANTIS_GPIF_ADDR);
	u32 cur;

	cur = mmread(MANTIS_GPIF_ADDR);
	if (value)
		newVal = currVal | (1 << bitpos);
		mantis->gpio_status = cur | (1 << bitpos);
	else
		newVal = currVal & (~(1 << bitpos));
		mantis->gpio_status = cur & (~(1 << bitpos));

	mmwrite(newVal, MANTIS_GPIF_ADDR);
	mmwrite(mantis->gpio_status, MANTIS_GPIF_ADDR);
	mmwrite(0x00, MANTIS_GPIF_DOUT);
	udelay(100);
}