cregit-Linux how code gets into the kernel

Release 4.18 drivers/gpu/drm/xen/xen_drm_front_cfg.c

// SPDX-License-Identifier: GPL-2.0 OR MIT

/*
 *  Xen para-virtual DRM device
 *
 * Copyright (C) 2016-2018 EPAM Systems Inc.
 *
 * Author: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
 */

#include <drm/drmP.h>

#include <linux/device.h>

#include <xen/interface/io/displif.h>
#include <xen/xenbus.h>

#include "xen_drm_front.h"
#include "xen_drm_front_cfg.h"


static int cfg_connector(struct xen_drm_front_info *front_info, struct xen_drm_front_cfg_connector *connector, const char *path, int index) { char *connector_path; connector_path = devm_kasprintf(&front_info->xb_dev->dev, GFP_KERNEL, "%s/%d", path, index); if (!connector_path) return -ENOMEM; if (xenbus_scanf(XBT_NIL, connector_path, XENDISPL_FIELD_RESOLUTION, "%d" XENDISPL_RESOLUTION_SEPARATOR "%d", &connector->width, &connector->height) < 0) { /* either no entry configured or wrong resolution set */ connector->width = 0; connector->height = 0; return -EINVAL; } connector->xenstore_path = connector_path; DRM_INFO("Connector %s: resolution %dx%d\n", connector_path, connector->width, connector->height); return 0; }

Contributors

PersonTokensPropCommitsCommitProp
Oleksandr Andrushchenko127100.00%1100.00%
Total127100.00%1100.00%


int xen_drm_front_cfg_card(struct xen_drm_front_info *front_info, struct xen_drm_front_cfg *cfg) { struct xenbus_device *xb_dev = front_info->xb_dev; int ret, i; if (xenbus_read_unsigned(front_info->xb_dev->nodename, XENDISPL_FIELD_BE_ALLOC, 0)) { DRM_INFO("Backend can provide display buffers\n"); cfg->be_alloc = true; } cfg->num_connectors = 0; for (i = 0; i < ARRAY_SIZE(cfg->connectors); i++) { ret = cfg_connector(front_info, &cfg->connectors[i], xb_dev->nodename, i); if (ret < 0) break; cfg->num_connectors++; } if (!cfg->num_connectors) { DRM_ERROR("No connector(s) configured at %s\n", xb_dev->nodename); return -ENODEV; } return 0; }

Contributors

PersonTokensPropCommitsCommitProp
Oleksandr Andrushchenko141100.00%1100.00%
Total141100.00%1100.00%


Overall Contributors

PersonTokensPropCommitsCommitProp
Oleksandr Andrushchenko288100.00%1100.00%
Total288100.00%1100.00%
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.