
The sde_hw_blk was meant to be a generic base object for all SDE HW blocks, however, it enforces using a common set of ops which is not practical when blocks have different capabilities. Since this object was never used as intended and is not doing anything functional today, remove the dead weight. Change-Id: If76006c1ae5c62e8d7d77b100837dbaf6c661bd3 Signed-off-by: Steve Cohen <quic_cohens@quicinc.com>
67 lines
1.7 KiB
C
67 lines
1.7 KiB
C
// SPDX-License-Identifier: GPL-2.0-only
|
|
/*
|
|
* Copyright (c) 2019, 2021, 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_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_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 hw object to sde_hw_qdss container
|
|
* @hw: Pointer to hardware block register map object
|
|
* return: Pointer to hardware block container
|
|
*/
|
|
static inline struct sde_hw_qdss *to_sde_hw_qdss(struct sde_hw_blk_reg_map *hw)
|
|
{
|
|
return container_of(hw, struct sde_hw_qdss, hw);
|
|
}
|
|
|
|
/**
|
|
* 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_blk_reg_map *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
|
|
* @hw: Pointer to hardware block register map object
|
|
*/
|
|
void sde_hw_qdss_destroy(struct sde_hw_blk_reg_map *hw);
|
|
|
|
#endif /*_SDE_HW_QDSS_H */
|