Loading drivers/video/msm/mdss/mdss_hdmi_edid.c +18 −0 Original line number Original line Diff line number Diff line Loading @@ -2346,6 +2346,24 @@ bool hdmi_edid_get_scdc_support(void *input) return scdc_present; return scdc_present; } } /** * hdmi_edid_sink_scramble_override() - check if override has been enabled * @input: edid data * * Return true if scrambling override is enabled false otherwise. */ bool hdmi_edid_sink_scramble_override(void *input) { struct hdmi_edid_ctrl *edid_ctrl = (struct hdmi_edid_ctrl *)input; if (edid_ctrl->edid_override && (edid_ctrl->override_data.scramble != -1)) return true; return false; } bool hdmi_edid_get_sink_scrambler_support(void *input) bool hdmi_edid_get_sink_scrambler_support(void *input) { { struct hdmi_edid_ctrl *edid_ctrl = (struct hdmi_edid_ctrl *)input; struct hdmi_edid_ctrl *edid_ctrl = (struct hdmi_edid_ctrl *)input; Loading drivers/video/msm/mdss/mdss_hdmi_edid.h +2 −1 Original line number Original line Diff line number Diff line /* Copyright (c) 2010-2015, The Linux Foundation. All rights reserved. /* Copyright (c) 2010-2016, The Linux Foundation. All rights reserved. * * * This program is free software; you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -32,6 +32,7 @@ int hdmi_edid_parser(void *edid_ctrl); u32 hdmi_edid_get_raw_data(void *edid_ctrl, u8 *buf, u32 size); u32 hdmi_edid_get_raw_data(void *edid_ctrl, u8 *buf, u32 size); u8 hdmi_edid_get_sink_scaninfo(void *edid_ctrl, u32 resolution); u8 hdmi_edid_get_sink_scaninfo(void *edid_ctrl, u32 resolution); u32 hdmi_edid_get_sink_mode(void *edid_ctrl); u32 hdmi_edid_get_sink_mode(void *edid_ctrl); bool hdmi_edid_sink_scramble_override(void *input); bool hdmi_edid_get_sink_scrambler_support(void *input); bool hdmi_edid_get_sink_scrambler_support(void *input); bool hdmi_edid_get_scdc_support(void *input); bool hdmi_edid_get_scdc_support(void *input); int hdmi_edid_get_audio_blk(void *edid_ctrl, int hdmi_edid_get_audio_blk(void *edid_ctrl, Loading drivers/video/msm/mdss/mdss_hdmi_tx.c +7 −5 Original line number Original line Diff line number Diff line Loading @@ -3421,15 +3421,17 @@ int hdmi_tx_setup_scrambler(struct hdmi_tx_ctrl *hdmi_ctrl) rate = hdmi_tx_setup_tmds_clk_rate(hdmi_ctrl); rate = hdmi_tx_setup_tmds_clk_rate(hdmi_ctrl); if (rate > HDMI_TX_SCRAMBLER_THRESHOLD_RATE_KHZ) { scrambler_on = hdmi_edid_get_sink_scrambler_support(edid_data); scrambler_on = true; tmds_clock_ratio = 1; if (!hdmi_edid_sink_scramble_override(edid_data)) { } else { if (rate > HDMI_TX_SCRAMBLER_THRESHOLD_RATE_KHZ) if (hdmi_edid_get_sink_scrambler_support(edid_data)) scrambler_on = true; scrambler_on = true; } } if (scrambler_on) { if (scrambler_on) { if (rate > HDMI_TX_SCRAMBLER_THRESHOLD_RATE_KHZ) tmds_clock_ratio = 1; rc = hdmi_scdc_write(&hdmi_ctrl->ddc_ctrl, rc = hdmi_scdc_write(&hdmi_ctrl->ddc_ctrl, HDMI_TX_SCDC_TMDS_BIT_CLOCK_RATIO_UPDATE, HDMI_TX_SCDC_TMDS_BIT_CLOCK_RATIO_UPDATE, tmds_clock_ratio); tmds_clock_ratio); Loading Loading
drivers/video/msm/mdss/mdss_hdmi_edid.c +18 −0 Original line number Original line Diff line number Diff line Loading @@ -2346,6 +2346,24 @@ bool hdmi_edid_get_scdc_support(void *input) return scdc_present; return scdc_present; } } /** * hdmi_edid_sink_scramble_override() - check if override has been enabled * @input: edid data * * Return true if scrambling override is enabled false otherwise. */ bool hdmi_edid_sink_scramble_override(void *input) { struct hdmi_edid_ctrl *edid_ctrl = (struct hdmi_edid_ctrl *)input; if (edid_ctrl->edid_override && (edid_ctrl->override_data.scramble != -1)) return true; return false; } bool hdmi_edid_get_sink_scrambler_support(void *input) bool hdmi_edid_get_sink_scrambler_support(void *input) { { struct hdmi_edid_ctrl *edid_ctrl = (struct hdmi_edid_ctrl *)input; struct hdmi_edid_ctrl *edid_ctrl = (struct hdmi_edid_ctrl *)input; Loading
drivers/video/msm/mdss/mdss_hdmi_edid.h +2 −1 Original line number Original line Diff line number Diff line /* Copyright (c) 2010-2015, The Linux Foundation. All rights reserved. /* Copyright (c) 2010-2016, The Linux Foundation. All rights reserved. * * * This program is free software; you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -32,6 +32,7 @@ int hdmi_edid_parser(void *edid_ctrl); u32 hdmi_edid_get_raw_data(void *edid_ctrl, u8 *buf, u32 size); u32 hdmi_edid_get_raw_data(void *edid_ctrl, u8 *buf, u32 size); u8 hdmi_edid_get_sink_scaninfo(void *edid_ctrl, u32 resolution); u8 hdmi_edid_get_sink_scaninfo(void *edid_ctrl, u32 resolution); u32 hdmi_edid_get_sink_mode(void *edid_ctrl); u32 hdmi_edid_get_sink_mode(void *edid_ctrl); bool hdmi_edid_sink_scramble_override(void *input); bool hdmi_edid_get_sink_scrambler_support(void *input); bool hdmi_edid_get_sink_scrambler_support(void *input); bool hdmi_edid_get_scdc_support(void *input); bool hdmi_edid_get_scdc_support(void *input); int hdmi_edid_get_audio_blk(void *edid_ctrl, int hdmi_edid_get_audio_blk(void *edid_ctrl, Loading
drivers/video/msm/mdss/mdss_hdmi_tx.c +7 −5 Original line number Original line Diff line number Diff line Loading @@ -3421,15 +3421,17 @@ int hdmi_tx_setup_scrambler(struct hdmi_tx_ctrl *hdmi_ctrl) rate = hdmi_tx_setup_tmds_clk_rate(hdmi_ctrl); rate = hdmi_tx_setup_tmds_clk_rate(hdmi_ctrl); if (rate > HDMI_TX_SCRAMBLER_THRESHOLD_RATE_KHZ) { scrambler_on = hdmi_edid_get_sink_scrambler_support(edid_data); scrambler_on = true; tmds_clock_ratio = 1; if (!hdmi_edid_sink_scramble_override(edid_data)) { } else { if (rate > HDMI_TX_SCRAMBLER_THRESHOLD_RATE_KHZ) if (hdmi_edid_get_sink_scrambler_support(edid_data)) scrambler_on = true; scrambler_on = true; } } if (scrambler_on) { if (scrambler_on) { if (rate > HDMI_TX_SCRAMBLER_THRESHOLD_RATE_KHZ) tmds_clock_ratio = 1; rc = hdmi_scdc_write(&hdmi_ctrl->ddc_ctrl, rc = hdmi_scdc_write(&hdmi_ctrl->ddc_ctrl, HDMI_TX_SCDC_TMDS_BIT_CLOCK_RATIO_UPDATE, HDMI_TX_SCDC_TMDS_BIT_CLOCK_RATIO_UPDATE, tmds_clock_ratio); tmds_clock_ratio); Loading