drm/msm: Get irq number within kms driver itself

The driver gets the irq number using platform_get_irq on the main kms
platform device. This works fine since both MDP4 and MDP5 currently
have a flat device hierarchy. The platform device tied with the
drm_device points to the MDP DT node in both cases.

This won't work when MDP5 supports a tree-like hierarchy. In this
case, the platform device tied to the top level drm_device is the
MDSS DT node, and the irq we need for KMS is the one generated by
MDP5, not MDSS.

Get the irq number from the MDP4/5 kms driver itself. Each driver
can later provide the irq number based on what device hierarchy it
uses.

While we're at it, call drm_irq_install only when we have a valid KMS
driver.

Signed-off-by: Archit Taneja <architt@codeaurora.org>
Signed-off-by: Rob Clark <robdclark@gmail.com>
This commit is contained in:
Archit Taneja
2016-05-18 15:06:03 +05:30
committed by Rob Clark
parent 7429d860c1
commit a2b3a5571f
4 changed files with 31 additions and 8 deletions

View File

@@ -60,6 +60,9 @@ struct msm_kms_funcs {
struct msm_kms {
const struct msm_kms_funcs *funcs;
/* irq number to be passed on to drm_irq_install */
int irq;
};
static inline void msm_kms_init(struct msm_kms *kms,