Loading drivers/platform/msm/gsi/gsi.c +4 −0 Original line number Diff line number Diff line Loading @@ -1635,6 +1635,10 @@ static void gsi_program_chan_ctx(struct gsi_chan_props *props, unsigned int ee, GSI_EE_n_GSI_CH_k_QOS_MAX_PREFETCH_BMSK) | ((props->use_db_eng << GSI_EE_n_GSI_CH_k_QOS_USE_DB_ENG_SHFT) & GSI_EE_n_GSI_CH_k_QOS_USE_DB_ENG_BMSK)); if (gsi_ctx->per.ver >= GSI_VER_2_0) val |= ((props->prefetch_mode << GSI_EE_n_GSI_CH_k_QOS_USE_ESCAPE_BUF_ONLY_SHFT) & GSI_EE_n_GSI_CH_k_QOS_USE_ESCAPE_BUF_ONLY_BMSK); gsi_writel(val, gsi_ctx->base + GSI_EE_n_GSI_CH_k_QOS_OFFS(props->ch_id, ee)); } Loading drivers/platform/msm/gsi/gsi_reg.h +3 −1 Original line number Diff line number Diff line /* Copyright (c) 2015-2017, The Linux Foundation. All rights reserved. /* Copyright (c) 2015-2018, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -1124,6 +1124,8 @@ #define GSI_EE_n_GSI_CH_k_QOS_RMSK 0x303 #define GSI_EE_n_GSI_CH_k_QOS_MAXk 30 #define GSI_EE_n_GSI_CH_k_QOS_MAXn 3 #define GSI_EE_n_GSI_CH_k_QOS_USE_ESCAPE_BUF_ONLY_BMSK 0x400 #define GSI_EE_n_GSI_CH_k_QOS_USE_ESCAPE_BUF_ONLY_SHFT 0xa #define GSI_EE_n_GSI_CH_k_QOS_USE_DB_ENG_BMSK 0x200 #define GSI_EE_n_GSI_CH_k_QOS_USE_DB_ENG_SHFT 0x9 #define GSI_EE_n_GSI_CH_k_QOS_MAX_PREFETCH_BMSK 0x100 Loading include/linux/msm_gsi.h +6 −0 Original line number Diff line number Diff line Loading @@ -219,6 +219,11 @@ enum gsi_max_prefetch { GSI_TWO_PREFETCH_SEG = 0x1 }; enum gsi_prefetch_mode { GSI_USE_PREFETCH_BUFS = 0x0, GSI_ESCAPE_BUF_ONLY = 0x1 }; enum gsi_chan_evt { GSI_CHAN_EVT_INVALID = 0x0, GSI_CHAN_EVT_SUCCESS = 0x1, Loading Loading @@ -357,6 +362,7 @@ struct gsi_chan_props { enum gsi_chan_use_db_eng use_db_eng; enum gsi_max_prefetch max_prefetch; uint8_t low_weight; enum gsi_prefetch_mode prefetch_mode; void (*xfer_cb)(struct gsi_chan_xfer_notify *notify); void (*err_cb)(struct gsi_chan_err_notify *notify); void *chan_user_data; Loading Loading
drivers/platform/msm/gsi/gsi.c +4 −0 Original line number Diff line number Diff line Loading @@ -1635,6 +1635,10 @@ static void gsi_program_chan_ctx(struct gsi_chan_props *props, unsigned int ee, GSI_EE_n_GSI_CH_k_QOS_MAX_PREFETCH_BMSK) | ((props->use_db_eng << GSI_EE_n_GSI_CH_k_QOS_USE_DB_ENG_SHFT) & GSI_EE_n_GSI_CH_k_QOS_USE_DB_ENG_BMSK)); if (gsi_ctx->per.ver >= GSI_VER_2_0) val |= ((props->prefetch_mode << GSI_EE_n_GSI_CH_k_QOS_USE_ESCAPE_BUF_ONLY_SHFT) & GSI_EE_n_GSI_CH_k_QOS_USE_ESCAPE_BUF_ONLY_BMSK); gsi_writel(val, gsi_ctx->base + GSI_EE_n_GSI_CH_k_QOS_OFFS(props->ch_id, ee)); } Loading
drivers/platform/msm/gsi/gsi_reg.h +3 −1 Original line number Diff line number Diff line /* Copyright (c) 2015-2017, The Linux Foundation. All rights reserved. /* Copyright (c) 2015-2018, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -1124,6 +1124,8 @@ #define GSI_EE_n_GSI_CH_k_QOS_RMSK 0x303 #define GSI_EE_n_GSI_CH_k_QOS_MAXk 30 #define GSI_EE_n_GSI_CH_k_QOS_MAXn 3 #define GSI_EE_n_GSI_CH_k_QOS_USE_ESCAPE_BUF_ONLY_BMSK 0x400 #define GSI_EE_n_GSI_CH_k_QOS_USE_ESCAPE_BUF_ONLY_SHFT 0xa #define GSI_EE_n_GSI_CH_k_QOS_USE_DB_ENG_BMSK 0x200 #define GSI_EE_n_GSI_CH_k_QOS_USE_DB_ENG_SHFT 0x9 #define GSI_EE_n_GSI_CH_k_QOS_MAX_PREFETCH_BMSK 0x100 Loading
include/linux/msm_gsi.h +6 −0 Original line number Diff line number Diff line Loading @@ -219,6 +219,11 @@ enum gsi_max_prefetch { GSI_TWO_PREFETCH_SEG = 0x1 }; enum gsi_prefetch_mode { GSI_USE_PREFETCH_BUFS = 0x0, GSI_ESCAPE_BUF_ONLY = 0x1 }; enum gsi_chan_evt { GSI_CHAN_EVT_INVALID = 0x0, GSI_CHAN_EVT_SUCCESS = 0x1, Loading Loading @@ -357,6 +362,7 @@ struct gsi_chan_props { enum gsi_chan_use_db_eng use_db_eng; enum gsi_max_prefetch max_prefetch; uint8_t low_weight; enum gsi_prefetch_mode prefetch_mode; void (*xfer_cb)(struct gsi_chan_xfer_notify *notify); void (*err_cb)(struct gsi_chan_err_notify *notify); void *chan_user_data; Loading