uint8_t i = 0;
uint16_t lane_mask = 0, lane_enable = 0, temp;
void __iomem *csiphybase;
+ uint64_t two_gbps = 0;
csiphybase = csiphy_dev->base;
+ two_gbps = 2 * (uint64_t)csiphy_params->lane_cnt * GBPS;
lane_mask = csiphy_params->lane_mask & 0x7;
while (lane_mask != 0) {
temp = (i << 1)+1;
csiphy_3ph_reg.mipi_csiphy_3ph_lnn_ctrl51.addr +
0x200*i);
}
+
if ((csiphy_dev->hw_version == CSIPHY_VERSION_V35) &&
- ((csiphy_params->data_rate /
- csiphy_params->lane_cnt) > 2 * GBPS)) {
+ (csiphy_params->data_rate > two_gbps)) {
msm_camera_io_w(0x40,
csiphybase +
csiphy_dev->ctrl_reg->csiphy_3ph_reg.
ratio = csiphy_dev->csiphy_max_clk/clk_rate;
csiphy_params->settle_cnt = csiphy_params->settle_cnt/ratio;
}
- CDBG("%s csiphy_params, mask = 0x%x cnt = %d, data rate = %lu\n",
+ CDBG("%s csiphy_params, mask = 0x%x cnt = %d, data rate = %llu\n",
__func__,
csiphy_params->lane_mask,
csiphy_params->lane_cnt, csiphy_params->data_rate);
-/* Copyright (c) 2009-2012, 2014-2016 The Linux Foundation. All rights reserved.
+/* Copyright (c) 2009-2012, 2014-2016, 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
uint16_t lane_mask;
uint8_t combo_mode;
uint8_t csid_core;
- unsigned long data_rate;
+ uint64_t data_rate;
};
struct msm_camera_csi2_params {