/* Set or clear the mask for an individual endpoint's interrupt request.  */
static void s3c_hsotg_ctrl_epint(struct s3c_hsotg *hsotg, unsigned int ep, unsigned int dir_in, unsigned int en)
/* Set or clear the mask for an individual endpoint's interrupt request.  */
static void s3c_hsotg_ctrl_epint(struct s3c_hsotg *hsotg, unsigned int ep, unsigned int dir_in, unsigned int en)
{
	unsigned long flags;
	u32 bit = 1 << ep;
	u32 daint;
	if (!dir_in)
		bit <<= 16;
	local_irq_save(flags);
	daint = readl(hsotg->regs + S3C_DAINTMSK);
	if (en)
		daint |= bit;
	else
		daint &= ~bit;
	writel(daint, hsotg->regs + S3C_DAINTMSK);
	local_irq_restore(flags);
}