)]}'
{
  "log": [
    {
      "commit": "fa5034c667c224be48db31a0d043dba305e8e7a8",
      "tree": "f5b74b0c5c23797016fa5357e396e10e11d8c3c8",
      "parents": [
        "c1026c580df130c1d1943fff99bae0bef2cafa7b"
      ],
      "author": {
        "name": "Clemens Ladisch",
        "email": "clemens@ladisch.de",
        "time": "Sat Nov 05 18:42:01 2011 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Tue Dec 20 09:31:50 2011 -0200"
      },
      "message": "[media] media: fix truncated entity specification\n\nWhen enumerating an entity, assign the entire entity specification\ninstead of only the first two words. (This requires giving the\nspecification union a name.)\n\nSo far, no driver actually uses more than two words, but this will\nbe needed for ALSA entities.\n\nSigned-off-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\n[laurent.pinchart@ideasonboard.com: Rename specification to info]\nSigned-off-by: Laurent Pinchart \u003claurent.pinchart@ideasonboard.com\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "e02188c90f6ef61f0844c42508fe603c5d4fa42b",
      "tree": "7b0ff940b37ba6bf53c7cea7fadbb697ec2d156a",
      "parents": [
        "97548ed4c4661502cdfd1aabd5d3876fa4f5cc2e"
      ],
      "author": {
        "name": "Laurent Pinchart",
        "email": "laurent.pinchart@ideasonboard.com",
        "time": "Wed Aug 25 09:00:41 2010 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Tue Mar 22 04:53:17 2011 -0300"
      },
      "message": "[media] media: Pipelines and media streams\n\nDrivers often need to associate pipeline objects to entities, and to\ntake stream state into account when configuring entities and links. The\npipeline API helps drivers manage that information.\n\nWhen starting streaming, drivers call media_entity_pipeline_start(). The\nfunction marks all entities connected to the given entity through\nenabled links, either directly or indirectly, as streaming. Similarly,\nwhen stopping the stream, drivers call media_entity_pipeline_stop().\n\nThe media_entity_pipeline_start() function takes a pointer to a media\npipeline and stores it in every entity in the graph. Drivers should\nembed the media_pipeline structure in higher-level pipeline structures\nand can then access the pipeline through the media_entity structure.\n\nLink configuration will fail with -EBUSY by default if either end of the\nlink is a streaming entity, unless the link is marked with the\nMEDIA_LNK_FL_DYNAMIC flag.\n\nSigned-off-by: Laurent Pinchart \u003claurent.pinchart@ideasonboard.com\u003e\nAcked-by: Hans Verkuil \u003chverkuil@xs4all.nl\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "97548ed4c4661502cdfd1aabd5d3876fa4f5cc2e",
      "tree": "c85b85954f53e3a97b6590de8d5d5396e7c43358",
      "parents": [
        "1651333b09743887bc2dd3d158a11853a2be3fe7"
      ],
      "author": {
        "name": "Laurent Pinchart",
        "email": "laurent.pinchart@ideasonboard.com",
        "time": "Wed Dec 09 08:40:03 2009 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Tue Mar 22 04:53:16 2011 -0300"
      },
      "message": "[media] media: Links setup\n\nCreate the following ioctl and implement it at the media device level to\nsetup links.\n\n- MEDIA_IOC_SETUP_LINK: Modify the properties of a given link\n\nThe only property that can currently be modified is the ENABLED link\nflag to enable/disable a link. Links marked with the IMMUTABLE link flag\ncan not be enabled or disabled.\n\nEnabling or disabling a link has effects on entities\u0027 use count. Those\nchanges are automatically propagated through the graph.\n\nSigned-off-by: Laurent Pinchart \u003claurent.pinchart@ideasonboard.com\u003e\nSigned-off-by: Stanimir Varbanov \u003csvarbanov@mm-sol.com\u003e\nSigned-off-by: Sakari Ailus \u003csakari.ailus@iki.fi\u003e\nAcked-by: Hans Verkuil \u003chverkuil@xs4all.nl\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "1651333b09743887bc2dd3d158a11853a2be3fe7",
      "tree": "965dd31e8fbd0c866bbcd47b86baccc238101ef7",
      "parents": [
        "140d88165c25137e871f9559e67986ed89251105"
      ],
      "author": {
        "name": "Laurent Pinchart",
        "email": "laurent.pinchart@ideasonboard.com",
        "time": "Wed Dec 09 08:40:01 2009 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Tue Mar 22 04:53:14 2011 -0300"
      },
      "message": "[media] media: Entities, pads and links enumeration\n\nCreate the following two ioctls and implement them at the media device\nlevel to enumerate entities, pads and links.\n\n- MEDIA_IOC_ENUM_ENTITIES: Enumerate entities and their properties\n- MEDIA_IOC_ENUM_LINKS: Enumerate all pads and links for a given entity\n\nEntity IDs can be non-contiguous. Userspace applications should\nenumerate entities using the MEDIA_ENT_ID_FLAG_NEXT flag. When the flag\nis set in the entity ID, the MEDIA_IOC_ENUM_ENTITIES will return the\nnext entity with an ID bigger than the requested one.\n\nOnly forward links that originate at one of the entity\u0027s source pads are\nreturned during the enumeration process.\n\nSigned-off-by: Laurent Pinchart \u003claurent.pinchart@ideasonboard.com\u003e\nSigned-off-by: Sakari Ailus \u003csakari.ailus@iki.fi\u003e\nAcked-by: Hans Verkuil \u003chverkuil@xs4all.nl\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "503c3d829eaf48837dd5bff5d97ad66369bb955a",
      "tree": "9c14ed9561c5ffca07909e53d5ae0e52cdf5f99e",
      "parents": [
        "a5ccc48a7c48610e7f92fa599406738d69195d51"
      ],
      "author": {
        "name": "Laurent Pinchart",
        "email": "laurent.pinchart@ideasonboard.com",
        "time": "Sun Mar 07 15:04:59 2010 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Tue Mar 22 04:53:12 2011 -0300"
      },
      "message": "[media] media: Entity use count\n\nDue to the wide differences between drivers regarding power management\nneeds, the media controller does not implement power management.\nHowever, the media_entity structure includes a use_count field that\nmedia drivers can use to track the number of users of every entity for\npower management needs.\n\nThe use_count field is owned by media drivers and must not be touched by\nentity drivers. Access to the field must be protected by the media\ndevice graph_mutex lock.\n\nSigned-off-by: Laurent Pinchart \u003claurent.pinchart@ideasonboard.com\u003e\nAcked-by: Hans Verkuil \u003chverkuil@xs4all.nl\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "a5ccc48a7c48610e7f92fa599406738d69195d51",
      "tree": "8b82352250fa0cef0bcbb7b4db760d98844d746d",
      "parents": [
        "53e269c102fbaf77e7dc526b1606ad4a48e57200"
      ],
      "author": {
        "name": "Sakari Ailus",
        "email": "sakari.ailus@iki.fi",
        "time": "Sun Mar 07 16:14:14 2010 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Tue Mar 22 04:53:11 2011 -0300"
      },
      "message": "[media] media: Entity graph traversal\n\nAdd media entity graph traversal. The traversal follows enabled links by\ndepth first. Traversing graph backwards is prevented by comparing the next\npossible entity in the graph with the previous one. Multiply connected\ngraphs are thus not supported.\n\nSigned-off-by: Sakari Ailus \u003csakari.ailus@iki.fi\u003e\nSigned-off-by: Laurent Pinchart \u003claurent.pinchart@ideasonboard.com\u003e\nSigned-off-by: Vimarsh Zutshi \u003cvimarsh.zutshi@gmail.com\u003e\nAcked-by: Hans Verkuil \u003chverkuil@xs4all.nl\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "53e269c102fbaf77e7dc526b1606ad4a48e57200",
      "tree": "c264a16d8058e5331ac3c0c4792be30da50e7363",
      "parents": [
        "176fb0d108f7495ccf9aa127e1342a1a0d87e004"
      ],
      "author": {
        "name": "Laurent Pinchart",
        "email": "laurent.pinchart@ideasonboard.com",
        "time": "Wed Dec 09 08:40:00 2009 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Tue Mar 22 04:53:10 2011 -0300"
      },
      "message": "[media] media: Entities, pads and links\n\nAs video hardware pipelines become increasingly complex and\nconfigurable, the current hardware description through v4l2 subdevices\nreaches its limits. In addition to enumerating and configuring\nsubdevices, video camera drivers need a way to discover and modify at\nruntime how those subdevices are connected. This is done through new\nelements called entities, pads and links.\n\nAn entity is a basic media hardware building block. It can correspond to\na large variety of logical blocks such as physical hardware devices\n(CMOS sensor for instance), logical hardware devices (a building block\nin a System-on-Chip image processing pipeline), DMA channels or physical\nconnectors.\n\nA pad is a connection endpoint through which an entity can interact with\nother entities. Data (not restricted to video) produced by an entity\nflows from the entity\u0027s output to one or more entity inputs. Pads should\nnot be confused with physical pins at chip boundaries.\n\nA link is a point-to-point oriented connection between two pads, either\non the same entity or on different entities. Data flows from a source\npad to a sink pad.\n\nLinks are stored in the source entity. To make backwards graph walk\nfaster, a copy of all links is also stored in the sink entity. The copy\nis known as a backlink and is only used to help graph traversal.\n\nThe entity API is made of three functions:\n\n- media_entity_init() initializes an entity. The caller must provide an\narray of pads as well as an estimated number of links. The links array\nis allocated dynamically and will be reallocated if it grows beyond the\ninitial estimate.\n\n- media_entity_cleanup() frees resources allocated for an entity. It\nmust be called during the cleanup phase after unregistering the entity\nand before freeing it.\n\n- media_entity_create_link() creates a link between two entities. An\nentry in the link array of each entity is allocated and stores pointers\nto source and sink pads.\n\nWhen a media device is unregistered, all its entities are unregistered\nautomatically.\n\nThe code is based on Hans Verkuil \u003chverkuil@xs4all.nl\u003e initial work.\n\nSigned-off-by: Laurent Pinchart \u003claurent.pinchart@ideasonboard.com\u003e\nSigned-off-by: Sakari Ailus \u003csakari.ailus@iki.fi\u003e\nAcked-by: Hans Verkuil \u003chverkuil@xs4all.nl\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    }
  ]
}
