linux/drivers/gpu/drm/msm/mdp/mdp5/mdp5_smp.h
<<
>>
Prefs
   1/*
   2 * Copyright (c) 2014, The Linux Foundation. All rights reserved.
   3 * Copyright (C) 2013 Red Hat
   4 * Author: Rob Clark <robdclark@gmail.com>
   5 *
   6 * This program is free software; you can redistribute it and/or modify it
   7 * under the terms of the GNU General Public License version 2 as published by
   8 * the Free Software Foundation.
   9 *
  10 * This program is distributed in the hope that it will be useful, but WITHOUT
  11 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  12 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
  13 * more details.
  14 *
  15 * You should have received a copy of the GNU General Public License along with
  16 * this program.  If not, see <http://www.gnu.org/licenses/>.
  17 */
  18
  19#ifndef __MDP5_SMP_H__
  20#define __MDP5_SMP_H__
  21
  22#include "msm_drv.h"
  23
  24struct mdp5_client_smp_state {
  25        mdp5_smp_state_t inuse;
  26        mdp5_smp_state_t configured;
  27        mdp5_smp_state_t pending;
  28};
  29
  30struct mdp5_kms;
  31struct mdp5_smp;
  32
  33/*
  34 * SMP module prototypes:
  35 * mdp5_smp_init() returns a SMP @handler,
  36 * which is then used to call the other mdp5_smp_*(handler, ...) functions.
  37 */
  38
  39struct mdp5_smp *mdp5_smp_init(struct drm_device *dev, const struct mdp5_smp_block *cfg);
  40void  mdp5_smp_destroy(struct mdp5_smp *smp);
  41
  42int  mdp5_smp_request(struct mdp5_smp *smp, enum mdp5_pipe pipe,
  43                const struct mdp_format *format, u32 width, bool hdecim);
  44void mdp5_smp_configure(struct mdp5_smp *smp, enum mdp5_pipe pipe);
  45void mdp5_smp_commit(struct mdp5_smp *smp, enum mdp5_pipe pipe);
  46void mdp5_smp_release(struct mdp5_smp *smp, enum mdp5_pipe pipe);
  47
  48#endif /* __MDP5_SMP_H__ */
  49