2 * Copyright (C) ST-Ericsson SA 2010
3 * Author: Shujuan Chen <shujuan.chen@stericsson.com> for ST-Ericsson.
4 * Author: Jonas Linde <jonas.linde@stericsson.com> for ST-Ericsson.
5 * Author: Joakim Bech <joakim.xx.bech@stericsson.com> for ST-Ericsson.
6 * Author: Berne Hebark <berne.herbark@stericsson.com> for ST-Ericsson.
7 * Author: Niklas Hernaeus <niklas.hernaeus@stericsson.com> for ST-Ericsson.
8 * License terms: GNU General Public License (GPL) version 2.
11 #include <linux/kernel.h>
12 #include <linux/bitmap.h>
13 #include <linux/device.h>
18 #include "cryp_irqp.h"
20 void cryp_enable_irq_src(struct cryp_device_data
*device_data
, u32 irq_src
)
24 dev_dbg(device_data
->dev
, "[%s]", __func__
);
26 i
= readl_relaxed(&device_data
->base
->imsc
);
28 writel_relaxed(i
, &device_data
->base
->imsc
);
31 void cryp_disable_irq_src(struct cryp_device_data
*device_data
, u32 irq_src
)
35 dev_dbg(device_data
->dev
, "[%s]", __func__
);
37 i
= readl_relaxed(&device_data
->base
->imsc
);
39 writel_relaxed(i
, &device_data
->base
->imsc
);
42 bool cryp_pending_irq_src(struct cryp_device_data
*device_data
, u32 irq_src
)
44 return (readl_relaxed(&device_data
->base
->mis
) & irq_src
) > 0;