sdm: Add HIDL implementation to configure bit clocks.
Change-Id: I2ff291c6d0c27986bd207ffdc22c8b67431d632c
CRs-Fixed: 2476186
diff --git a/composer/hwc_session.cpp b/composer/hwc_session.cpp
index 3a3cbfd..f3ea6d9 100644
--- a/composer/hwc_session.cpp
+++ b/composer/hwc_session.cpp
@@ -1974,7 +1974,12 @@
android::status_t HWCSession::SetDsiClk(const android::Parcel *input_parcel) {
int disp_id = input_parcel->readInt32();
uint64_t clk = UINT64(input_parcel->readInt64());
- if (disp_id < 0 || !hwc_display_[disp_id]) {
+ if (disp_id < 0) {
+ return -EINVAL;
+ }
+
+ SEQUENCE_WAIT_SCOPE_LOCK(locker_[disp_id]);
+ if (!hwc_display_[disp_id]) {
return -EINVAL;
}
@@ -1984,7 +1989,12 @@
android::status_t HWCSession::GetDsiClk(const android::Parcel *input_parcel,
android::Parcel *output_parcel) {
int disp_id = input_parcel->readInt32();
- if (disp_id < 0 || !hwc_display_[disp_id]) {
+ if (disp_id < 0) {
+ return -EINVAL;
+ }
+
+ SEQUENCE_WAIT_SCOPE_LOCK(locker_[disp_id]);
+ if (!hwc_display_[disp_id]) {
return -EINVAL;
}
@@ -1998,7 +2008,12 @@
android::status_t HWCSession::GetSupportedDsiClk(const android::Parcel *input_parcel,
android::Parcel *output_parcel) {
int disp_id = input_parcel->readInt32();
- if (disp_id < 0 || !hwc_display_[disp_id]) {
+ if (disp_id < 0) {
+ return -EINVAL;
+ }
+
+ SCOPE_LOCK(locker_[disp_id]);
+ if (!hwc_display_[disp_id]) {
return -EINVAL;
}