possible_encoders_(possible_encoders) {
}
-DrmConnector::~DrmConnector() {
-}
-
int DrmConnector::Init() {
int ret = drm_->GetConnectorProperty(*this, "DPMS", &dpms_property_);
if (ret) {
ALOGE("Could not get DPMS property\n");
return ret;
}
+ ret = drm_->GetConnectorProperty(*this, "CRTC_ID", &crtc_id_property_);
+ if (ret) {
+ ALOGE("Could not get CRTC_ID property\n");
+ return ret;
+ }
return 0;
}
bool DrmConnector::built_in() const {
return type_ == DRM_MODE_CONNECTOR_LVDS || type_ == DRM_MODE_CONNECTOR_eDP ||
- type_ == DRM_MODE_CONNECTOR_DSI;
+ type_ == DRM_MODE_CONNECTOR_DSI || type_ == DRM_MODE_CONNECTOR_VIRTUAL;
}
int DrmConnector::UpdateModes() {
return -ENODEV;
}
+ state_ = c->connection;
+
std::vector<DrmMode> new_modes;
for (int i = 0; i < c->count_modes; ++i) {
bool exists = false;
- for (std::vector<DrmMode>::iterator iter = modes_.begin();
- iter != modes_.end(); ++iter) {
- if (*iter == c->modes[i]) {
- new_modes.push_back(*iter);
+ for (const DrmMode &mode : modes_) {
+ if (mode == c->modes[i]) {
+ new_modes.push_back(mode);
exists = true;
break;
}
return active_mode_;
}
-int DrmConnector::set_active_mode(uint32_t mode_id) {
- for (std::vector<DrmMode>::const_iterator iter = modes_.begin();
- iter != modes_.end(); ++iter) {
- if (iter->id() == mode_id) {
- active_mode_ = *iter;
- return 0;
- }
- }
- return -ENOENT;
+void DrmConnector::set_active_mode(const DrmMode &mode) {
+ active_mode_ = mode;
}
const DrmProperty &DrmConnector::dpms_property() const {
return dpms_property_;
}
-DrmConnector::ModeIter DrmConnector::begin_modes() const {
- return modes_.begin();
-}
-
-DrmConnector::ModeIter DrmConnector::end_modes() const {
- return modes_.end();
+const DrmProperty &DrmConnector::crtc_id_property() const {
+ return crtc_id_property_;
}
DrmEncoder *DrmConnector::encoder() const {
encoder_ = encoder;
}
-DrmConnector::EncoderIter DrmConnector::begin_possible_encoders() const {
- return possible_encoders_.begin();
-}
-
-DrmConnector::EncoderIter DrmConnector::end_possible_encoders() const {
- return possible_encoders_.end();
+drmModeConnection DrmConnector::state() const {
+ return state_;
}
uint32_t DrmConnector::mm_width() const {