Esempio n. 1
0
static void reset_flags(struct si_sm_data *bt)
{
	if (bt_debug)
		printk(KERN_WARNING "IPMI BT: flag reset %s\n",
					status2txt(BT_STATUS));
	if (BT_STATUS & BT_H_BUSY)
		BT_CONTROL(BT_H_BUSY);	/* force clear */
	BT_CONTROL(BT_CLR_WR_PTR);	/* always reset */
	BT_CONTROL(BT_SMS_ATN);		/* always clear */
	BT_INTMASK_W(BT_BMC_HWRST);
}
Esempio n. 2
0
static void reset_flags(struct si_sm_data *bt)
{
	if (BT_STATUS & BT_H_BUSY) BT_CONTROL(BT_H_BUSY);
	if (BT_STATUS & BT_B_BUSY) BT_CONTROL(BT_B_BUSY);
	BT_CONTROL(BT_CLR_WR_PTR);
	BT_CONTROL(BT_SMS_ATN);
	BT_INTMASK_W(BT_BMC_HWRST);
#ifdef DEVELOPMENT_ONLY_NOT_FOR_PRODUCTION
	if (BT_STATUS & BT_B2H_ATN) {
		int i;
		BT_CONTROL(BT_H_BUSY);
		BT_CONTROL(BT_B2H_ATN);
		BT_CONTROL(BT_CLR_RD_PTR);
		for (i = 0; i < IPMI_MAX_MSG_LENGTH + 2; i++) BMC2HOST;
		BT_CONTROL(BT_H_BUSY);
	}
#endif
}