hwc: Add secure display attribute
- External displays can be secure or non-secure based on HDCP - Propogate this to the SF with the getDisplayConfig - Non-virtual displays(pri and hdmi) are considered to be secure - For WFD using V4L2 archiecture, read the HDCP status from the sysfs and update accordingly Change-Id: I4aaf303f0770201b8ca4f8a1c578bed61054bcfb
This commit is contained in:
committed by
Gerrit - the friendly Code Review server
parent
8f3e80c320
commit
074c9cfdaf
@@ -799,6 +799,7 @@ int hwc_getDisplayAttributes(struct hwc_composer_device_1* dev, int disp,
|
||||
HWC_DISPLAY_HEIGHT,
|
||||
HWC_DISPLAY_DPI_X,
|
||||
HWC_DISPLAY_DPI_Y,
|
||||
HWC_DISPLAY_SECURE,
|
||||
HWC_DISPLAY_NO_ATTRIBUTE,
|
||||
};
|
||||
|
||||
@@ -844,6 +845,9 @@ int hwc_getDisplayAttributes(struct hwc_composer_device_1* dev, int disp,
|
||||
case HWC_DISPLAY_DPI_Y:
|
||||
values[i] = (int32_t) (ctx->dpyAttr[disp].ydpi*1000.0);
|
||||
break;
|
||||
case HWC_DISPLAY_SECURE:
|
||||
values[i] = (int32_t) (ctx->dpyAttr[disp].secure);
|
||||
break;
|
||||
default:
|
||||
ALOGE("Unknown display attribute %d",
|
||||
attributes[i]);
|
||||
|
||||
@@ -128,6 +128,10 @@ void updateDisplayInfo(hwc_context_t* ctx, int dpy) {
|
||||
ctx->dpyAttr[dpy].yres = ctx->mHDMIDisplay->getHeight();
|
||||
ctx->dpyAttr[dpy].mMDPScalingMode = ctx->mHDMIDisplay->getMDPScalingMode();
|
||||
ctx->dpyAttr[dpy].vsync_period = ctx->mHDMIDisplay->getVsyncPeriod();
|
||||
//FIXME: for now assume HDMI as secure
|
||||
//Will need to read the HDCP status from the driver
|
||||
//and update this accordingly
|
||||
ctx->dpyAttr[dpy].secure = true;
|
||||
ctx->mViewFrame[dpy].left = 0;
|
||||
ctx->mViewFrame[dpy].top = 0;
|
||||
ctx->mViewFrame[dpy].right = ctx->dpyAttr[dpy].xres;
|
||||
@@ -224,6 +228,7 @@ static int openFramebufferDevice(hwc_context_t *ctx)
|
||||
ctx->dpyAttr[HWC_DISPLAY_PRIMARY].ydpi = ydpi;
|
||||
ctx->dpyAttr[HWC_DISPLAY_PRIMARY].refreshRate = (uint32_t)fps;
|
||||
ctx->dpyAttr[HWC_DISPLAY_PRIMARY].dynRefreshRate = (uint32_t)fps;
|
||||
ctx->dpyAttr[HWC_DISPLAY_PRIMARY].secure = true;
|
||||
ctx->dpyAttr[HWC_DISPLAY_PRIMARY].vsync_period =
|
||||
(uint32_t)(1000000000l / fps);
|
||||
|
||||
|
||||
@@ -89,6 +89,7 @@ struct DisplayAttributes {
|
||||
uint32_t stride;
|
||||
float xdpi;
|
||||
float ydpi;
|
||||
bool secure;
|
||||
int fd;
|
||||
bool connected; //Applies only to pluggable disp.
|
||||
//Connected does not mean it ready to use.
|
||||
|
||||
Reference in New Issue
Block a user