disp: msm: snapshot of msm and sde driver
This snapshot ports changes from 4.14 to 4.19 into the msm and sde layer. Snapshot was taken as of commit 0f8fb25421ff ("cnss2: Add device version to SOC info structure"). Change-Id: I59b799a78319c2db6930a2a10bc38976f8c09898 Signed-off-by: Samantha Tran <samtran@codeaurora.org>
This commit is contained in:
68
msm/sde/sde_hw_qdss.h
Normal file
68
msm/sde/sde_hw_qdss.h
Normal file
@@ -0,0 +1,68 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/*
|
||||
* Copyright (c) 2019, The Linux Foundation. All rights reserved.
|
||||
*/
|
||||
|
||||
#ifndef _SDE_HW_QDSS_H
|
||||
#define _SDE_HW_QDSS_H
|
||||
|
||||
#include "sde_hw_catalog.h"
|
||||
#include "sde_hw_mdss.h"
|
||||
#include "sde_hw_blk.h"
|
||||
#include "sde_hw_util.h"
|
||||
|
||||
struct sde_hw_qdss;
|
||||
|
||||
/**
|
||||
* struct sde_hw_qdss_ops - interface to the qdss hardware driver functions
|
||||
* Assumption is these functions will be called after clocks are enabled
|
||||
*/
|
||||
struct sde_hw_qdss_ops {
|
||||
/**
|
||||
* enable_qdss_events - enable qdss events
|
||||
* @hw_qdss: Pointer to qdss context
|
||||
*/
|
||||
void (*enable_qdss_events)(struct sde_hw_qdss *hw_qdss, bool enable);
|
||||
};
|
||||
|
||||
struct sde_hw_qdss {
|
||||
struct sde_hw_blk base;
|
||||
struct sde_hw_blk_reg_map hw;
|
||||
|
||||
/* qdss */
|
||||
enum sde_qdss idx;
|
||||
const struct sde_qdss_cfg *caps;
|
||||
|
||||
/* ops */
|
||||
struct sde_hw_qdss_ops ops;
|
||||
};
|
||||
|
||||
/**
|
||||
* to_sde_hw_qdss - convert base object sde_hw_base to container
|
||||
* @hw: Pointer to base hardware block
|
||||
* return: Pointer to hardware block container
|
||||
*/
|
||||
static inline struct sde_hw_qdss *to_sde_hw_qdss(struct sde_hw_blk *hw)
|
||||
{
|
||||
return container_of(hw, struct sde_hw_qdss, base);
|
||||
}
|
||||
|
||||
/**
|
||||
* sde_hw_qdss_init - initializes the qdss block for the passed qdss idx
|
||||
* @idx: QDSS index for which driver object is required
|
||||
* @addr: Mapped register io address of MDP
|
||||
* @m: Pointer to mdss catalog data
|
||||
* Returns: Error code or allocated sde_hw_qdss context
|
||||
*/
|
||||
struct sde_hw_qdss *sde_hw_qdss_init(enum sde_qdss idx,
|
||||
void __iomem *addr,
|
||||
struct sde_mdss_cfg *m);
|
||||
|
||||
/**
|
||||
* sde_hw_qdss_destroy - destroys qdss driver context
|
||||
* should be called to free the context
|
||||
* @qdss: Pointer to qdss driver context returned by sde_hw_qdss_init
|
||||
*/
|
||||
void sde_hw_qdss_destroy(struct sde_hw_qdss *qdss);
|
||||
|
||||
#endif /*_SDE_HW_QDSS_H */
|
Reference in New Issue
Block a user