16a55e9fb8e16c63c2e42bde31814f963205f722dSean Paul/* 26a55e9fb8e16c63c2e42bde31814f963205f722dSean Paul * Copyright (C) 2015 The Android Open Source Project 36a55e9fb8e16c63c2e42bde31814f963205f722dSean Paul * 46a55e9fb8e16c63c2e42bde31814f963205f722dSean Paul * Licensed under the Apache License, Version 2.0 (the "License"); 56a55e9fb8e16c63c2e42bde31814f963205f722dSean Paul * you may not use this file except in compliance with the License. 66a55e9fb8e16c63c2e42bde31814f963205f722dSean Paul * You may obtain a copy of the License at 76a55e9fb8e16c63c2e42bde31814f963205f722dSean Paul * 86a55e9fb8e16c63c2e42bde31814f963205f722dSean Paul * http://www.apache.org/licenses/LICENSE-2.0 96a55e9fb8e16c63c2e42bde31814f963205f722dSean Paul * 106a55e9fb8e16c63c2e42bde31814f963205f722dSean Paul * Unless required by applicable law or agreed to in writing, software 116a55e9fb8e16c63c2e42bde31814f963205f722dSean Paul * distributed under the License is distributed on an "AS IS" BASIS, 126a55e9fb8e16c63c2e42bde31814f963205f722dSean Paul * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 136a55e9fb8e16c63c2e42bde31814f963205f722dSean Paul * See the License for the specific language governing permissions and 146a55e9fb8e16c63c2e42bde31814f963205f722dSean Paul * limitations under the License. 156a55e9fb8e16c63c2e42bde31814f963205f722dSean Paul */ 166a55e9fb8e16c63c2e42bde31814f963205f722dSean Paul 176a55e9fb8e16c63c2e42bde31814f963205f722dSean Paul#include "drmcrtc.h" 186a55e9fb8e16c63c2e42bde31814f963205f722dSean Paul#include "drmencoder.h" 196a55e9fb8e16c63c2e42bde31814f963205f722dSean Paul#include "drmresources.h" 206a55e9fb8e16c63c2e42bde31814f963205f722dSean Paul 216a55e9fb8e16c63c2e42bde31814f963205f722dSean Paul#include <stdint.h> 226a55e9fb8e16c63c2e42bde31814f963205f722dSean Paul#include <xf86drmMode.h> 236a55e9fb8e16c63c2e42bde31814f963205f722dSean Paul 246a55e9fb8e16c63c2e42bde31814f963205f722dSean Paulnamespace android { 256a55e9fb8e16c63c2e42bde31814f963205f722dSean Paul 266a55e9fb8e16c63c2e42bde31814f963205f722dSean PaulDrmEncoder::DrmEncoder(drmModeEncoderPtr e, DrmCrtc *current_crtc, 276a55e9fb8e16c63c2e42bde31814f963205f722dSean Paul const std::vector<DrmCrtc *> &possible_crtcs) 286a55e9fb8e16c63c2e42bde31814f963205f722dSean Paul : id_(e->encoder_id), 296a55e9fb8e16c63c2e42bde31814f963205f722dSean Paul crtc_(current_crtc), 306a55e9fb8e16c63c2e42bde31814f963205f722dSean Paul type_(e->encoder_type), 316a55e9fb8e16c63c2e42bde31814f963205f722dSean Paul possible_crtcs_(possible_crtcs) { 326a55e9fb8e16c63c2e42bde31814f963205f722dSean Paul} 336a55e9fb8e16c63c2e42bde31814f963205f722dSean Paul 346a55e9fb8e16c63c2e42bde31814f963205f722dSean Pauluint32_t DrmEncoder::id() const { 356a55e9fb8e16c63c2e42bde31814f963205f722dSean Paul return id_; 366a55e9fb8e16c63c2e42bde31814f963205f722dSean Paul} 376a55e9fb8e16c63c2e42bde31814f963205f722dSean Paul 386a55e9fb8e16c63c2e42bde31814f963205f722dSean PaulDrmCrtc *DrmEncoder::crtc() const { 396a55e9fb8e16c63c2e42bde31814f963205f722dSean Paul return crtc_; 406a55e9fb8e16c63c2e42bde31814f963205f722dSean Paul} 416a55e9fb8e16c63c2e42bde31814f963205f722dSean Paul 426a55e9fb8e16c63c2e42bde31814f963205f722dSean Paulvoid DrmEncoder::set_crtc(DrmCrtc *crtc) { 436a55e9fb8e16c63c2e42bde31814f963205f722dSean Paul crtc_ = crtc; 446a55e9fb8e16c63c2e42bde31814f963205f722dSean Paul} 456a55e9fb8e16c63c2e42bde31814f963205f722dSean Paul} 46