Guest User

Untitled

a guest
Jan 17th, 2018
343
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.72 KB | None | 0 0
  1. commit 1f423ebe2f428114cc24275aa04be2a49b7067d9
  2. Author: Dan Pasanen <dan.pasanen@gmail.com>
  3. Date: Wed Jan 3 14:18:08 2018 -0600
  4.  
  5. [NEEDS CLEANUP] more essential shit we may or may not need
  6.  
  7. Change-Id: I92492e428b7ce8214853dfc90cffa55378e63bee
  8.  
  9. diff --git a/drivers/media/platform/msm/vidc/msm_vidc_common.c b/drivers/media/platform/msm/vidc/msm_vidc_common.c
  10. index 9e07fb8f81a5..6190789f642a 100644
  11. --- a/drivers/media/platform/msm/vidc/msm_vidc_common.c
  12. +++ b/drivers/media/platform/msm/vidc/msm_vidc_common.c
  13. @@ -4967,6 +4967,7 @@ int msm_vidc_check_session_supported(struct msm_vidc_inst *inst)
  14. int rc = 0;
  15. struct hfi_device *hdev;
  16. struct msm_vidc_core *core;
  17. + u32 output_height, output_width, input_height, input_width;
  18.  
  19. if (!inst || !inst->core || !inst->core->device) {
  20. dprintk(VIDC_WARN, "%s: Invalid parameter\n", __func__);
  21. @@ -4993,6 +4994,22 @@ int msm_vidc_check_session_supported(struct msm_vidc_inst *inst)
  22. if (!rc)
  23. msm_dcvs_try_enable(inst);
  24.  
  25. + output_height = inst->prop.height[CAPTURE_PORT];
  26. + output_width = inst->prop.width[CAPTURE_PORT];
  27. + input_height = inst->prop.height[OUTPUT_PORT];
  28. + input_width = inst->prop.width[OUTPUT_PORT];
  29. +
  30. + if (input_width % 2 != 0 || input_height % 2 != 0 ||
  31. + output_width % 2 != 0 || output_height % 2 != 0) {
  32. + dprintk(VIDC_ERR,
  33. + "Height and Width should be even numbers for NV12\n");
  34. + dprintk(VIDC_ERR,
  35. + "Input WxH = (%u)x(%u), Output WxH = (%u)x(%u)\n",
  36. + input_width, input_height,
  37. + output_width, output_height);
  38. + rc = -ENOTSUPP;
  39. + }
  40. +
  41. if (!rc) {
  42. if (inst->prop.width[CAPTURE_PORT] < capability->width.min ||
  43. inst->prop.height[CAPTURE_PORT] <
  44. diff --git a/drivers/of/of_reserved_mem.c b/drivers/of/of_reserved_mem.c
  45. index 22528d051845..8c60dcf35514 100644
  46. --- a/drivers/of/of_reserved_mem.c
  47. +++ b/drivers/of/of_reserved_mem.c
  48. @@ -22,7 +22,7 @@
  49. #include <linux/of_reserved_mem.h>
  50. #include <linux/sort.h>
  51.  
  52. -#define MAX_RESERVED_REGIONS 16
  53. +#define MAX_RESERVED_REGIONS 20
  54. static struct reserved_mem reserved_mem[MAX_RESERVED_REGIONS];
  55. static int reserved_mem_count;
  56.  
  57. diff --git a/drivers/power/supply/qcom/battery.c b/drivers/power/supply/qcom/battery.c
  58. index 5e8cc84fbfbf..2120dd49f187 100644
  59. --- a/drivers/power/supply/qcom/battery.c
  60. +++ b/drivers/power/supply/qcom/battery.c
  61. @@ -985,7 +985,7 @@ int qcom_batt_init(void)
  62. goto release_wakeup_source;
  63. }
  64.  
  65. - chip->fv_votable = create_votable("FV", VOTE_MAX,
  66. + chip->fv_votable = create_votable("FV", VOTE_MIN,
  67. pl_fv_vote_callback,
  68. chip);
  69. if (IS_ERR(chip->fv_votable)) {
  70. diff --git a/drivers/power/supply/qcom/step-chg-jeita.c b/drivers/power/supply/qcom/step-chg-jeita.c
  71. index 06ecc7ea6e8a..911ceba09ea1 100644
  72. --- a/drivers/power/supply/qcom/step-chg-jeita.c
  73. +++ b/drivers/power/supply/qcom/step-chg-jeita.c
  74. @@ -85,12 +85,11 @@ static struct step_chg_info *the_chip;
  75. static struct step_chg_cfg step_chg_config = {
  76. .psy_prop = POWER_SUPPLY_PROP_VOLTAGE_NOW,
  77. .prop_name = "VBATT",
  78. - .hysteresis = 100000, /* 100mV */
  79. + .hysteresis = 50000, /* 50mV */
  80. .fcc_cfg = {
  81. /* VBAT_LOW VBAT_HIGH FCC */
  82. - {3600000, 4000000, 3000000},
  83. - {4001000, 4200000, 2800000},
  84. - {4201000, 4400000, 2000000},
  85. + {3600000, 4100000, 2500000},
  86. + {4100001, 4400000, 2000000},
  87. },
  88. /*
  89. * SOC STEP-CHG configuration example.
  90. @@ -118,25 +117,24 @@ static struct step_chg_cfg step_chg_config = {
  91. static struct jeita_fcc_cfg jeita_fcc_config = {
  92. .psy_prop = POWER_SUPPLY_PROP_TEMP,
  93. .prop_name = "BATT_TEMP",
  94. - .hysteresis = 10, /* 1degC hysteresis */
  95. + .hysteresis = 9, /* 1degC hysteresis */
  96. .fcc_cfg = {
  97. /* TEMP_LOW TEMP_HIGH FCC */
  98. - {0, 100, 600000},
  99. - {101, 200, 2000000},
  100. - {201, 450, 3000000},
  101. - {451, 550, 600000},
  102. + {0, 109, 600000},
  103. + {110, 209, 1500000},
  104. + {210, 439, 3000000},
  105. + {440, 580, 1500000},
  106. },
  107. };
  108.  
  109. static struct jeita_fv_cfg jeita_fv_config = {
  110. .psy_prop = POWER_SUPPLY_PROP_TEMP,
  111. .prop_name = "BATT_TEMP",
  112. - .hysteresis = 10, /* 1degC hysteresis */
  113. + .hysteresis = 9, /* 1degC hysteresis */
  114. .fv_cfg = {
  115. /* TEMP_LOW TEMP_HIGH FCC */
  116. - {0, 100, 4200000},
  117. - {101, 450, 4400000},
  118. - {451, 550, 4200000},
  119. + {0, 439, 4400000},
  120. + {440, 580, 4100000},
  121. },
  122. };
  123.  
  124. @@ -164,6 +162,7 @@ static int get_val(struct range_data *range, int hysteresis, int current_index,
  125. range[i].high_threshold, threshold)) {
  126. *new_index = i;
  127. *val = range[i].value;
  128. + break;
  129. }
  130.  
  131. /* if nothing was found, return -ENODATA */
  132. @@ -337,7 +336,7 @@ static int handle_jeita(struct step_chg_info *chip)
  133. vote(chip->fv_votable, JEITA_VOTER, true, fv_uv);
  134.  
  135. pr_debug("%s = %d FCC = %duA FV = %duV\n",
  136. - step_chg_config.prop_name, pval.intval, fcc_ua, fv_uv);
  137. + jeita_fv_config.prop_name, pval.intval, fcc_ua, fv_uv);
  138.  
  139. update_time:
  140. chip->jeita_last_update_time = ktime_get();
  141. diff --git a/drivers/soc/qcom/pil-q6v5-mss.c b/drivers/soc/qcom/pil-q6v5-mss.c
  142. index bbcff5923c53..834177bc6f19 100644
  143. --- a/drivers/soc/qcom/pil-q6v5-mss.c
  144. +++ b/drivers/soc/qcom/pil-q6v5-mss.c
  145. @@ -44,6 +44,8 @@
  146.  
  147. #define subsys_to_drv(d) container_of(d, struct modem_data, subsys_desc)
  148.  
  149. +char mfr_failure_reason[MAX_SSR_REASON_LEN];
  150. +
  151. static void log_modem_sfr(void)
  152. {
  153. u32 size;
  154. @@ -63,6 +65,8 @@ static void log_modem_sfr(void)
  155. strlcpy(reason, smem_reason, min(size, MAX_SSR_REASON_LEN));
  156. pr_err("modem subsystem failure reason: %s.\n", reason);
  157.  
  158. + strlcpy(mfr_failure_reason, smem_reason, min(size, MAX_SSR_REASON_LEN));
  159. +
  160. smem_reason[0] = '\0';
  161. wmb();
  162. }
  163. @@ -204,6 +208,8 @@ static int pil_subsys_init(struct modem_data *drv,
  164. {
  165. int ret;
  166.  
  167. + mfr_failure_reason[0]='\0';
  168. +
  169. drv->subsys_desc.name = "modem";
  170. drv->subsys_desc.dev = &pdev->dev;
  171. drv->subsys_desc.owner = THIS_MODULE;
  172. diff --git a/drivers/tty/serial/msm_serial_hs.c b/drivers/tty/serial/msm_serial_hs.c
  173. index 416006a3384c..14878bb7356b 100644
  174. --- a/drivers/tty/serial/msm_serial_hs.c
  175. +++ b/drivers/tty/serial/msm_serial_hs.c
  176. @@ -2838,6 +2838,7 @@ static int uartdm_init_port(struct uart_port *uport)
  177. struct msm_hs_port *msm_uport = UARTDM_TO_MSM(uport);
  178. struct msm_hs_tx *tx = &msm_uport->tx;
  179. struct msm_hs_rx *rx = &msm_uport->rx;
  180. + struct sched_param param = { .sched_priority = 1 };
  181.  
  182. init_waitqueue_head(&rx->wait);
  183. init_waitqueue_head(&tx->wait);
  184. @@ -2852,6 +2853,7 @@ static int uartdm_init_port(struct uart_port *uport)
  185. MSM_HS_ERR("%s(): error creating task", __func__);
  186. goto exit_lh_init;
  187. }
  188. + sched_setscheduler(rx->task, SCHED_FIFO, &param);
  189. init_kthread_work(&rx->kwork, msm_serial_hs_rx_work);
  190.  
  191. init_kthread_worker(&tx->kworker);
  192. @@ -2861,7 +2863,7 @@ static int uartdm_init_port(struct uart_port *uport)
  193. MSM_HS_ERR("%s(): error creating task", __func__);
  194. goto exit_lh_init;
  195. }
  196. -
  197. + sched_setscheduler(tx->task, SCHED_FIFO, &param);
  198. init_kthread_work(&tx->kwork, msm_serial_hs_tx_work);
  199.  
  200. rx->buffer = dma_alloc_coherent(uport->dev,
Add Comment
Please, Sign In to add comment