Skip to content
2 changes: 2 additions & 0 deletions config/glymur_video.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
export CONFIG_MSM_VIDC_GLYMUR=y
export CONFIG_MSM_VIDC_IRIS36=y
7 changes: 7 additions & 0 deletions config/glymur_video.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) Qualcomm Innovation Center, Inc. All rights reserved.
*/

#define CONFIG_MSM_VIDC_GLYMUR 1
#define CONFIG_MSM_VIDC_IRIS36 1
1 change: 1 addition & 0 deletions driver/platform/common/inc/msm_vidc_platform.h
Original file line number Diff line number Diff line change
Expand Up @@ -372,6 +372,7 @@ struct msm_vidc_platform_data {
const u32 *msm_vidc_ssr_type;
unsigned int msm_vidc_ssr_type_size;
int (*init_cb_devs)(struct msm_vidc_core *core);
u32 num_cores;
};

struct msm_vidc_platform {
Expand Down
8 changes: 8 additions & 0 deletions driver/platform/common/src/msm_vidc_platform.c
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,8 @@
#include "msm_vidc_purwa.h"
#include "msm_vidc_iris3.h"
#include "msm_vidc_iris2.h"
#include "msm_vidc_glymur.h"
#include "msm_vidc_iris36.h"
#endif

#define CAP_TO_8BIT_QP(a) { \
Expand Down Expand Up @@ -208,6 +210,12 @@ static const struct msm_vidc_compat_handle compat_handle[] = {
.init_platform = msm_vidc_init_platform_purwa,
.init_iris = msm_vidc_init_iris3,
},
{
.compat = "qcom,glymur-iris",
.get_platform_data = msm_vidc_get_platform_data_glymur,
.init_platform = msm_vidc_init_platform_glymur,
.init_iris = msm_vidc_init_glymur_iris36,
},
#endif
#if defined(CONFIG_MSM_VIDC_LEMANS)
{
Expand Down
41 changes: 41 additions & 0 deletions driver/platform/glymur/inc/msm_vidc_glymur.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) Qualcomm Innovation Center, Inc. All rights reserved.
*/

#ifndef _MSM_VIDC_GLYMUR_H_
#define _MSM_VIDC_GLYMUR_H_

struct msm_vidc_core;

#if defined(CONFIG_MSM_VIDC_GLYMUR) || defined(CONFIG_MSM_VIDC_QLI)
int msm_vidc_get_platform_data_glymur(struct msm_vidc_core *core);
int msm_vidc_init_platform_glymur(struct msm_vidc_core *core);
int msm_vidc_adjust_ir_period_glymur(void *instance, struct v4l2_ctrl *ctrl);
int msm_vidc_set_ir_period_glymur(void *instance,
enum msm_vidc_inst_capability_type cap_id);
#else
static inline int msm_vidc_get_platform_data_glymur(struct msm_vidc_core *core)
{
return -EINVAL;
}

static inline int msm_vidc_init_platform_glymur(struct msm_vidc_core *core)
{
return -EINVAL;
}

static inline int msm_vidc_adjust_ir_period_glymur(void *instance, struct v4l2_ctrl *ctrl)
{
return -EINVAL;
}

static inline int msm_vidc_set_ir_period_glymur(void *instance,
enum msm_vidc_inst_capability_type cap_id)
{
return -EINVAL;
}

#endif

#endif /* _MSM_VIDC_GLYMUR_H_ */
Loading