[Android GMS 認證] VTS/CTS on GSI相關問題
1. CtsGraphicsTestCases android.graphics.cts.VulkanFeaturesTest#testVulkanHardwareFeatures
device/qcom/common/base.mk
註釋如下四行
#PRODUCT_COPY_FILES += \
# frameworks/native/data/etc/android.hardware.vulkan.level-0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.level-0.xml \
# frameworks/native/data/etc/android.hardware.vulkan.version-1_0_3.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.version-1_0_3.xml \
# frameworks/native/data/etc/android.hardware.vulkan.compute-0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.compute-0.xml \
2. run cts-on-gsi -m CtsCameraTestCases -t android.hardware.cts.CameraTest#testJpegThumbnailSize
run cts-on-gsi -m CtsCameraTestCases -t android.hardware.cts.CameraTest#testRecordingHint
kernel\msm-3.18\drivers\media\platform\msm\camera_v2\msm_buf_mgr\msm_generic_buf_mgr.c
--- a/drivers/media/platform/msm/camera_v2/msm_buf_mgr/msm_generic_buf_mgr.c
+++ b/drivers/media/platform/msm/camera_v2/msm_buf_mgr/msm_generic_buf_mgr.c
@@ -74,9 +74,6 @@ static int32_t msm_buf_mngr_get_buf(struct msm_buf_mngr_device *dev,
new_entry->session_id = buf_info->session_id;
new_entry->stream_id = buf_info->stream_id;
new_entry->index = new_entry->vb2_buf->v4l2_buf.index;
- spin_lock_irqsave(&dev->buf_q_spinlock, flags);
- list_add_tail(&new_entry->entry, &dev->buf_qhead);
- spin_unlock_irqrestore(&dev->buf_q_spinlock, flags);
buf_info->index = new_entry->vb2_buf->v4l2_buf.index;
if (buf_info->type == MSM_CAMERA_BUF_MNGR_BUF_USER) {
mutex_lock(&dev->cont_mutex);
@@ -89,6 +86,14 @@ static int32_t msm_buf_mngr_get_buf(struct msm_buf_mngr_device *dev,
}
mutex_unlock(&dev->cont_mutex);
}
+ if(!rc) {
+ spin_lock_irqsave(&dev->buf_q_spinlock, flags);
+ list_add_tail(&new_entry->entry, &dev->buf_qhead);
+ spin_unlock_irqrestore(&dev->buf_q_spinlock, flags);
+ } else{
+ pr_err("debug for this issue do not enqueue buf %p \n", new_entry->vb2_buf);
+ kfree(new_entry);
+ }
return rc;
}
3. AccelerometerSamplingPeriodHotSwitchOperation_32bit
驅動配置問題
EXPECT_GT((maxDelayAverageInterval - minDelayAverageInterval), minDelayAverageInterval / 10);
kernel/msm-3.18/drivers/input/misc/mc3xxx.c
diff --git a/msm-3.18/drivers/input/misc/mc3xxx.c b/msm-3.18/drivers/input/misc/mc3xxx.c
old mode 100644
new mode 100755
index b039dbd..d3927f9
--- a/msm-3.18/drivers/input/misc/mc3xxx.c
+++ b/msm-3.18/drivers/input/misc/mc3xxx.c
@@ -212,7 +212,7 @@
// Polling delay in msecs
#define POLL_INTERVAL_MIN_MS 10
-#define POLL_INTERVAL_MAX_MS 4000
+#define POLL_INTERVAL_MAX_MS 200
#define POLL_DEFAULT_INTERVAL_MS 200
// Interrupt delay in msecs
另外,關於vts測試環境的建立,要使用普通使用者,最好不要使用root使用者,否則有可能會導致系統崩潰。
普通使用者使用adb需要進行設定如下:
普通使用者使用adb
#lsusb
Bus 001 Device 004: ID 18d1:4ee7 Google Inc.
Bus 001 Device 105: ID 18d1:d00d Google Inc.
Bus 001 Device 007: ID 05c6:9091 Qualcomm, Inc.
#vim /etc/udev/rules.d/51-android.rules
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee7", MODE="0660", GROUP="plugdev", SYMLINK+="android%n"
SUBSYSTEM=="usb", ATTR{idVendor}=="05c6", ATTR{idProduct}=="9091", MODE="0660", GROUP="plugdev", SYMLINK+="android%n"