X-Git-Url: https://jxself.org/git/?p=linux-libre-firmware.git;a=blobdiff_plain;f=ath9k_htc%2Ftarget_firmware%2Fmagpie_fw_dev%2Ftarget%2Finc%2FOTUS%2FOTUS_htc.h;fp=ath9k_htc%2Ftarget_firmware%2Fmagpie_fw_dev%2Ftarget%2Finc%2FOTUS%2FOTUS_htc.h;h=0000000000000000000000000000000000000000;hp=70ec8e473539737daef49ebe315a3a5d9ab6ce09;hb=1ba1a88647bfe113c885f985d6e383790dec2a1f;hpb=a2fe6b1f6253377c952c224d4ec9d55b196660ce diff --git a/ath9k_htc/target_firmware/magpie_fw_dev/target/inc/OTUS/OTUS_htc.h b/ath9k_htc/target_firmware/magpie_fw_dev/target/inc/OTUS/OTUS_htc.h deleted file mode 100755 index 70ec8e4..0000000 --- a/ath9k_htc/target_firmware/magpie_fw_dev/target/inc/OTUS/OTUS_htc.h +++ /dev/null @@ -1,122 +0,0 @@ -/* - * Copyright (c) 2013 Qualcomm Atheros, Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted (subject to the limitations in the - * disclaimer below) provided that the following conditions are met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the - * distribution. - * - * * Neither the name of Qualcomm Atheros nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE - * GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT - * HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR - * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE - * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN - * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ -#ifndef __AR6K_HTC_H__ -#define __AR6K_HTC_H__ - -/* Host/Target Communications for an AR6K Target */ - -/* Number of mailboxes */ -#define AR6000_MBOX_COUNT 4 - -/* ------ MBOX ID ------ */ -typedef enum -{ - ENDPOINT_UNUSED = -1, - ENDPOINT1 = 0, - ENDPOINT2, - ENDPOINT3, - ENDPOINT4, -} HTC_ENDPOINT_ID; - - -/* An AR6000 DMA Descriptor. See HTC_descriptor(). */ -struct AR6000_DMA_desc_s { - A_UINT32 dma_control; - char *dma_data; - struct AR6000_DMA_desc_s *dma_next; -}; - - -/* - * Make a Mailbox DMA descriptor available to HTC. - * - * Once made available, there is no way to reclaim this memory. - * The caller must guarantee that a descriptor exists for each - * buffer that is used to send or receive. It is expected that - * the caller will supply a bunch of descriptors once during - * initialization, and then forget about them. The number of - * buffers given to HTC for send+recv must never exceed the - * number of descriptors given to HTC. - * - * HTC accesses descriptors via uncached accesses. The caller - * must guarantee not to place any other data in the same cache - * line as a DMA descriptor! In practice, this means that the - * caller should allocate a block of memory for descriptors, - * and the block should include padding at the start and end - * to guarantee there will be no other data in the same cache - * line. - * - * It would be far preferable to bury descriptors in the bufinfo - * structure; but there are practical issues that prevent this. - * It turns out that the most efficient way to add descriptors - * to an active DMA engine requires HTC to "own and actively - * manage" the descriptors. HTC needs to make the association - * between descriptors and buffers at the last possible moment. - * - * extern void _HTC_descriptor(struct AR6000_DMA_desc_s *descriptor); - */ - -/* - * The following interfaces make it easy to allocate suitable - * descriptors for HTC. During initialization, simply use the - * HTC_DESCRIPTORS_INIT macro and specify the number of descriptors - * desired. This number must be a constant, since it is used to - * declare a static array! - * - * The descriptor array is padded with a cache line at the start - * and another at the end. This avoids false sharing between adjacent - * cached data and uncached descriptors. - */ -#define HTC_DESCRIPTOR_SPACE_SIZE(ndescs) \ - (((ndescs) * sizeof(struct AR6000_DMA_desc_s)) + 2*A_CACHE_LINE_SIZE) - -#define HTC_DESCRIPTORS_INIT(ndescs) \ -{ \ - static A_UINT8 HTC_descriptor_space[HTC_DESCRIPTOR_SPACE_SIZE(ndescs)]; \ - struct AR6000_DMA_desc_s *desc; \ - int i; \ - \ - A_DATA_CACHE_FLUSH(HTC_descriptor_space, sizeof(HTC_descriptor_space)); \ - \ - desc = (struct AR6000_DMA_desc_s *) \ - A_ROUND_UP((A_UINT32)HTC_descriptor_space, A_CACHE_LINE_SIZE); \ - \ - for (i=0; i<(ndescs); i++) { \ - HTC_descriptor(desc); \ - desc++; \ - } \ -} - -#endif /* __AR6K_HTC_H__ */