| /* |
| // Copyright (c) 2014 Intel Corporation |
| // |
| // Licensed under the Apache License, Version 2.0 (the "License"); |
| // you may not use this file except in compliance with the License. |
| // You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, software |
| // distributed under the License is distributed on an "AS IS" BASIS, |
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| // See the License for the specific language governing permissions and |
| // limitations under the License. |
| */ |
| #include <HwcTrace.h> |
| #include <IDisplayDevice.h> |
| #include <Drm.h> |
| #include <DrmConfig.h> |
| |
| |
| namespace android { |
| namespace intel { |
| |
| const char* DrmConfig::getDrmPath() |
| { |
| return "/dev/card0"; |
| } |
| |
| uint32_t DrmConfig::getDrmConnector(int device) |
| { |
| if (device == IDisplayDevice::DEVICE_PRIMARY) |
| return DRM_MODE_CONNECTOR_DSI; |
| else if (device == IDisplayDevice::DEVICE_EXTERNAL) |
| return DRM_MODE_CONNECTOR_DVID; |
| return DRM_MODE_CONNECTOR_Unknown; |
| } |
| |
| uint32_t DrmConfig::getDrmEncoder(int device) |
| { |
| if (device == IDisplayDevice::DEVICE_PRIMARY) |
| return DRM_MODE_ENCODER_DSI; |
| else if (device == IDisplayDevice::DEVICE_EXTERNAL) |
| return DRM_MODE_ENCODER_TMDS; |
| return DRM_MODE_ENCODER_NONE; |
| } |
| |
| uint32_t DrmConfig::getFrameBufferFormat() |
| { |
| return HAL_PIXEL_FORMAT_RGBX_8888; |
| } |
| |
| uint32_t DrmConfig::getFrameBufferDepth() |
| { |
| return 24; |
| } |
| |
| uint32_t DrmConfig::getFrameBufferBpp() |
| { |
| return 32; |
| } |
| |
| const char* DrmConfig::getUeventEnvelope() |
| { |
| return "change@/devices/pci0000:00/0000:00:02.0/drm/card0"; |
| } |
| |
| const char* DrmConfig::getHotplugString() |
| { |
| return "HOTPLUG=1"; |
| } |
| |
| const char* DrmConfig::getRepeatedFrameString() |
| { |
| return "REPEATED_FRAME"; |
| } |
| |
| uint32_t DrmConfig::convertHalFormatToDrmFormat(uint32_t halFormat) |
| { |
| switch (halFormat) { |
| case HAL_PIXEL_FORMAT_RGBX_8888: |
| return DRM_FORMAT_XRGB8888; |
| default: |
| ETRACE("format %#x isn't supported by drm", halFormat); |
| return 0; |
| } |
| } |
| |
| } // namespace intel |
| } // namespace android |