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